C/C++
董小尾
代码上瘾
展开
-
函数参数的传递 动态内存传递问题(指针的指针)
<br />简介:这是函数参数的传递 动态内存传递问题(指针的指针)的详细页面,介绍了和c/c++,有关的知识,要查看更多相关信息,请点击此处<br />程序1:<br />void myMalloc(char *s) //我想在函数中分配内存,再返回<br />{<br />s=(char *) malloc(100);<br />}<br />void main()<br />{<br />char *p=NULL;<br />myMalloc(p); //这里的p实际还是NULL,p的值没有改变,为什转载 2010-11-20 20:25:00 · 804 阅读 · 0 评论 -
内存对齐问题
什么是内存对齐 考虑下面的结构: struct foo { char c1; short s; char c2; int i; }; 假设这个结构的成员在内存中是紧凑排列的,假设c1的地址是0,那么s的地址就应该是1,c2的地址就是3,i的地址就是4。也就是 c1 00000000, s 00000001, c2 00000003, i 00000004。转载 2010-11-20 20:26:00 · 528 阅读 · 0 评论 -
回调函数
<br />回调函数<br /> <br />在看LWIP时,见到用回调函数,再看某老外公司OPC源代码时,见到用回调函数。看我国内某些代码(我公司软件等)时没用到。于是,我对回调函数产生了很大的好奇。以前,我写VC程序时用到过回调函数,但是没有用C语言来使用。最近,看到国外大量的经典代码中广泛使用了回调函数(LWIP、某两个公司的OPC程序等),都是C语言来实现的,而不是VC windows程序中别人实现自己使用的那种。<br />为了弄明白这种函数的奥妙,首先提出三个问题:<br />1.转载 2010-11-20 20:28:00 · 621 阅读 · 0 评论 -
c语言中的符号解析
<br />连接器通过把每一个引用和一个确切的符号(symbol)定义相关联来解析符号引用。而符号定义是从它的(linker)输入的可重定位(relocatable)目标文件(object files)的符号表(symbol tables)获得的。<br />而当引用的是在同一个模块(module)中定义的本地符号(local symbols)的时候,符号解析是直接进行的。编译器只允许在一个模块中,每个本地符号仅仅只能有一个定义。编译器同时确保获得了本地连接器符号的静态本地变量(static local v转载 2010-11-24 21:15:00 · 4933 阅读 · 0 评论