__LINE__被编译文件行号%dide
__FILE__被编译文件名%s优化
__DATE__编译的日期%sspa
__TIME__编译的时间%s字符串
__STDC__判断当前使用的编译器是否符合C标准:不符合 0 符合 1编译器
BSSBlock Started by Symbol 由符号开始的块(未初始化的区域)it
-c编译,生成 .o的obj文件编译
-o自定义目标名class
-std = c89 或 -std = c99gcc
-pedantic根据C标准产生警告消息gc
-Wall编译器检测到可能的错误时生成警告消息
-O0不优化
-O1缺省优化
-O3最高优化
-E仅预处理
-S产生汇编
例如:gcc xxx.c -lm
##是链接符号,链接两个宏#define ABC(xyz)MY_##xyz
# 是把名字替换成字符串#define ABC(xyz)#xyz
#definePRINT(n)printf(#n" = %d\n",n);
即:PRINT(i/j) -> printf("i/j = %d\n",i/j);
#pragma pack(push, n)
#pragma pack(pop)