![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c/c++
文章平均质量分 76
ylgrgyq
这个作者很懒,什么都没留下…
展开
-
C++中##(两个井号)和#(一个井号)用法
C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。关 于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏 变量通过替换后在其左右各加上一个双引号。比如下面代码中的宏:#define WARN_IF(E转载 2011-11-04 14:44:24 · 398 阅读 · 0 评论 -
C/C++ 宏带来的奇技淫巧
作者:Kevin Lynx 来源:C++博客转自:http://www.kuqin.com/language/20080319/4797.html 众多C++书籍都忠告我们C语言宏是万恶之首,但事情总不如我们想象的那么坏,就如同goto一样。宏有一个很大的作用,就是自动为我们产生代码。如果说模板可以为我们产生各种型别的代码(型别替换),那么宏其实可以为我们在符号上产转载 2011-11-04 14:03:23 · 190 阅读 · 0 评论 -
C语言宏定义和宏定义函数
C语言宏定义和宏定义函数 要写好C语言,漂亮的宏定义是非常重要的。宏定义可以帮助我们防止出错,提高代码的可移植性和可读性等。 在软件开发过程中,经常有一些常用或者通用的功能或者代码段,这些功能既可以写成函数,也可以封装成为宏定义。那么究竟是用函数好,还是宏定义好?这就要求我们对二者进行合理的取舍。 我们来看一个例子,比较两个数或者表达式大小,首先我们把它写成宏定义:转载 2011-10-04 14:51:35 · 4220 阅读 · 0 评论 -
min()的宏定义中的(void) (&_x == &_y)的含义
转载自 http://apps.hi.baidu.com/share/detail/45688930作者:不详近日无意间发现,关于常见的min的宏定义,在Linux中是这样的:/** min()/max()/clamp() macros that also do* strict type-checking.. See the* "unnecessary" poi转载 2011-11-06 08:54:50 · 986 阅读 · 0 评论 -
__asm__ __volatile__ GCC的内嵌汇编语法 AT&T汇编语言语法 超好文章
超级好的文章!!我转自:http://blog.csdn.net/9527/article/details/2456841这篇帖子由于没署作者名,所以我转的时候也没怎么署,但还是谢谢了。AT&T ASM Syntax1 Overview 开发一个OS,尽管绝大部分代码只需要用C/C++等高级语言就可以了,但至少和硬件相关部分的代码需要使用汇编语言,另外,由于启动部分的代码有转载 2011-11-28 08:29:31 · 274 阅读 · 0 评论 -
[整理]c函数无参数时,要写void,而不是空着
参考:http://bbs.chinaunix.net/thread-513258-1-1.html风云的BLOG http://blog.codingnow.com/2010/03/object_oriented_programming_in_c.html不写void是K&R C中的。这个地方可以说是C的一个缺陷。但是现在,在任原创 2011-11-06 14:20:18 · 2243 阅读 · 0 评论 -
[整理]零长度数组
零长度数组 ========== GNU C 允许使用零长度数组,在定义变长对象的头结构时,这个特性非常有用。例 如: ++++ include/linux/minix_fs.h struct minix_dir_entry { __u16 inode; char name[0]; }; 结构的最后一个元素定义为零原创 2011-11-06 09:31:11 · 281 阅读 · 0 评论 -
c 常用函数总结
觉得还是有必要把一些常用函数总结一下。方便自己复习,也可以方便自己改进。如果有人不幸看到此文,真的恳请您能看一下以下函数,能指点一点是一点,十分感谢!//原地反转字符串。虽然这里是原地反转,但是还是实现成带返回值的,这样返回值可以直接//作为别的函数参数,即构成链式的。这种实现方式要记得!你老忘。。。char *Reverse(char *src_str){原创 2011-11-27 17:41:32 · 226 阅读 · 0 评论 -
C 犯错总结
limits.h要检查范围的时候,使用以下宏,很好用的,增强程序移植性,和减少bug。 要是传参时,入口函数都能有个范围判断的assert或什么的,感觉还是可以省不少事。 CHAR_BIT char的位数(bit) CHAR_MAX char的十进制整数最大值 CHAR_MIN char的十进制整数最小值 MB_LEN_MAX 多字节字符的最大字原创 2011-11-29 09:48:01 · 1066 阅读 · 1 评论