
编程
DDBOLG
这个作者很懒,什么都没留下…
展开
-
volatile
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如: volatile int i=10; int j = i; ... int k = i; volatile原创 2008-03-30 11:10:00 · 745 阅读 · 0 评论 -
C语言笔试题
C语言笔试题2007-11-20 15:06 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分转载 2008-04-28 16:56:00 · 706 阅读 · 0 评论 -
c语言修炼(2)
为了实现链式操作,将目的地址返回;对源地址和目的地址加非0断言;将源字符串加const,表明其为输入参数。char * strcpy( char *strDest, const char *strSrc ) { assert( (strDest != NULL) && (strSrc != NULL) ); char *address = strDest; while( (*strDest+原创 2008-04-28 18:07:00 · 893 阅读 · 0 评论 -
c语言修炼(1)
编程也有一段日子了,觉得要加强一下基础了。估计见解粗俗不堪,仅做个人学习之笔记。时间复杂度:O(1),常量时间;O(n),线形,随代码长度线形增加;O(n*2),随代码长度的二倍增加;冒泡法的是O(n^2)。使用extern修饰全局变量int all=10;int sub(){ return all;}另一个文件中要用all的话:extern all;void main(){}原创 2008-04-28 12:04:00 · 786 阅读 · 0 评论 -
堆和栈
1.栈是存放函数返回地址、参数、局部变量的。堆是程序可以自由操作的内存,使用时先申请,用完之后释放,如何使用完全由程序代码控制。2.栈在汇编代码中表示成PUSH POP,用的是ESS段,SP寄存器而堆不是,是在内存中读写,EDS段,3.C++包括两种被应用程序管理的内存区域:一种称为栈(stack),另一种称为堆(heap)。stack是函数被调用时自动分配的一块内存区域,它主要用于保留函数内转载 2008-04-28 16:53:00 · 730 阅读 · 0 评论 -
socket编程
前几天做得,在window平台下做得,后来在linux平台下也调通了。函数的参数还是有一点区别的。网上到处是,就不转贴了。比较费解的一部分是:while(1){ if((ns=accept(s,&sin,&fromlen)) { perror(″sever:accept″); exit(6); } lseek(source,OL,0);/*每次接受客户机连接,应将用于读的源文件指针原创 2008-04-09 19:52:00 · 715 阅读 · 0 评论 -
指针和引用的区别
指针也有自己的存储空间,只不过是他指象的是一个地址,也就是他的存储空间里放的是地址. 但是引用就是一个变量的别名,给同一个空间起了来个名字.引用肯定会指向一个对象,在C++里,引用应被初始化,而指针可以指向空。所以,使用引用的代码效率比使用指针的要高。因为在使用引用之前不需要测试它的合法性。但指针让代码灵活。string s1("Nancy"); string s2("Clancy");原创 2008-03-31 10:17:00 · 718 阅读 · 0 评论 -
platform sdk 中的makefile的用法
前几天要用directshow,下了个platform sdk,里面没有dsw工程文件,是用makefile编译的。但用nmake -f makefile 时,出了一堆错,很多重复定义。当时纳闷好久,windows不断升级,导致我们的编程工具跟不上系统环境的变化。今天偶然看到一篇帖子,原来,在nmake之前,要设置一下编译环境,选择自带的window xp 32就可以了。编译成功。看来,要原创 2008-03-30 16:03:00 · 1078 阅读 · 0 评论 -
预编译头选项
afx.h或stdafx.h每一个cpp都要包含,不包含的话,可能出现如下错误。nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBCMTD.lib(dbgdel.obj) 这个头文件里包含了以下的头原创 2008-03-30 14:58:00 · 724 阅读 · 0 评论 -
纯c不可以传引用吗
static int aoiGravityCenter(IplImage *src, CvPoint ¢er)这样的函数写在c文件中时编译通不过的。改成cpp文件就可以了。类似问题在ccs编译环境下也遇到过。原因大约是对于结构的传引用,由于引用函数不会复制数据,所以报错。应当传指针。这样做的原因是节省空间。原创 2008-05-17 12:59:00 · 1067 阅读 · 0 评论