C/C++
文章平均质量分 51
rotus
这个作者很懒,什么都没留下…
展开
-
GCC and C99 inline
http://superding.spaces.live.com/Blog/cns!89E842A8485366C7!1137.entryhttp://www.greenend.org.uk/rjk/2003/03/inline.htmlC语言的inline转以前我用Docbook写的一篇关于C语言inline关键字使用的文章。唉,要是能用docbook直接写Blog就好了。用转载 2009-07-01 09:53:00 · 4444 阅读 · 1 评论 -
程序的内存映像
一、程序的内存映像 一个由C/C++编译的程序的内存分布分为以下几个部分:1、 栈(stack):也是我们所说的堆栈,是由编译器自动分配释放,用来存放函数参数值,函数的返回地址,非静态局部变量的值等。其操作方式类似于数据结构中的栈(后进先出LIFO)。转载 2010-03-31 12:32:00 · 532 阅读 · 0 评论 -
几个有意思的宏
“container_of”/***先求得结构成员在与结构中的偏移量,然后根据成员变量的地址反过来得出属主结构变量的地址。***/#define container_of(ptr, type, member) ({ / const typeof( ((type *)0)->member ) *__mp原创 2010-03-31 12:39:00 · 527 阅读 · 0 评论 -
C89和C99标准对比
From:http://blog.csdn.net/phlexii/archive/2006/06/30/855263.aspx GCC 支持C99,通过 --std = c99命令行参数开启。 例如:gcc --std = c99 test.c 1、增加restrict指针 C99中增加了公适用于指针的restrict类型修饰符,它是初始访问指针所转载 2010-03-31 13:00:00 · 573 阅读 · 0 评论 -
C++中extern “C”含义深层探索 [转]
作者:宋宝华 出处:PConline 1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面转载 2010-03-31 13:05:00 · 427 阅读 · 0 评论 -
GCC reinterpret_cast 的问题
C++ 作类型转换的时候遇到问题 #include static int foo(){printf("hello/n");return 0;} typedef int fnc_t();int main(int argc, char* argv[]){void* fv = (fnc_t*)foo;fnc_t* fnc = reinterpret_cast(fv); //原创 2010-04-09 09:11:00 · 845 阅读 · 0 评论