__extension__ typedef int __ssize_t;是什么意思
2013-07-08 14:35
309 查看
这是.c文件经过gcc -E 预处理得到的.i文件中的内容,其中__extension__是什么作用
gcc对标准C语言进行了扩展,但用到这些扩展功能时,编译器会提出警告,使用__extension__关键字会告诉gcc不要提出警告。
gcc选项-ansi指示编译器编译符合标准的程序,但是不限制其它方式,只要它与标准不冲突。这样,asm、typeof、inline都将无效,但是__asm__、__typeof__、__inline__还将有效。
经常与-ansi一起使用的是-pedantic选项,它严格按照ISO标准产生需要的警告信息,但是如果程序中使用了__extension__,则-pedantic选项对__extension__后的表达式无影响。
如果要非常严格,可以使用-pedantic-errors选项。这样,所有与标准不符和的代码统统被编译器当成是错误而不是警告。
gcc对标准C语言进行了扩展,但用到这些扩展功能时,编译器会提出警告,使用__extension__关键字会告诉gcc不要提出警告。
gcc选项-ansi指示编译器编译符合标准的程序,但是不限制其它方式,只要它与标准不冲突。这样,asm、typeof、inline都将无效,但是__asm__、__typeof__、__inline__还将有效。
经常与-ansi一起使用的是-pedantic选项,它严格按照ISO标准产生需要的警告信息,但是如果程序中使用了__extension__,则-pedantic选项对__extension__后的表达式无影响。
如果要非常严格,可以使用-pedantic-errors选项。这样,所有与标准不符和的代码统统被编译器当成是错误而不是警告。
相关文章推荐
- __extension__ typedef int __ssize_t;是什么意思
- typedef void (*comm_callback)(char*, int, void*); 是什么意思?
- typedef int Long_int[3]是什么意思?解决思路
- k=(int)sqrt((double)m); 是什么意思
- int * * a[10] int * (*a)[10]和 int(* 4000 a[10])() 是什么意思
- for(int a:i)在java 编程中是什么意思
- sizeof(int)*p表示什么意思?
- C#中的 int?是什么意思
- C#中的 int?是什么意思
- typedef int (*pfunc)(int ,int);是什么?
- sql当中int后面的括号当中的数代表什么意思
- sizeof(int)*p 表示什么意思?
- C#中的 int? int??是什么意思
- MySQL数据类型 int(M) 表示什么意思?详解mysql int类型的长度值问题
- typedef void (*funcptr)() 是什么意思
- typedef struct 是什么意思
- MySQL数据类型 int(M) 表示什么意思?
- (int&)a是什么意思
- C#中的 int?是什么意思
- 程序猿之---C语言细节9(宏定义、max(a,b)宏定义细节、大小端判断、(int&)a什么意思)