GNUC
VermillionTear
这个作者很懒,什么都没留下…
展开
-
__linux
总能在一些代码中看到类似于如下的宏定义:d 但查遍整个工程代码却没有找到在哪儿定义过他们。 今天仔细研究了一下,原来他们是由操作系统或是编译器定义的。以下将以__linux为例简要说明一下。 例如我们平常编译程序使用gcc,那么在gcc中就定义了__linux宏。原创 2014-12-01 21:14:01 · 1143 阅读 · 0 评论 -
__attribute__((sentinel))
__attribute__((sentinel))的作用是提醒程序员:“此可变参数函数需要一个NULL作为最后一个参数。”,而这个NULL参数一般被叫做“哨兵参数”。比如下面这段程序:#include <stdio.h>#include <stdarg.h>#include <string.h>#include <malloc.h>void foo(char *first, ...){原创 2015-11-19 17:43:03 · 1490 阅读 · 0 评论