gcc -E c文件预处理

预处理: gcc -E xxx.c -o xxx.i

 预处理后的文件格式:

 该文件详解:

源文件名和行号信息通过格式为# linenum文件名标志的行来传递。这些被称为行标记。它们会根据需要插入到输出中(但绝不会在字符串或字符常量中)。他们的意思是,下一行起源于文件filename中的linenum行。文件名永远不会包含任何非打印字符;它们被八进制转义序列替换。文件名后面有零个或多个标志,分别是' 1 '、' 2 '、' 3 '或' 4 '。如果有多个标志,则用空格隔开。' 1 '表示新文件的开始。' 2 '表示返回到一个文件(在包含了另一个文件之后)。' 3 '这表示以下文本来自系统头文件,因此某些警告应该被抑制。' 4 '表明下面的文本应该被包装在隐式extern“C”块中。来源于Preprocessor Output (The C Preprocessor)

当预编译一个文件,当中不包含某个头文件时:

gcc -E xxx.c -I dir_path -lxxx -o xxx.i

'''
gcc -E:预处理命令

xxx.c:需要进行预处理的文件

-I: 大写的i

dir_path:.h头文件所在的目录位置

-lxxx:-l(小写的L) xxx代表.h文件的文件名

-o:最后输出生成的文件
'''

预处理: gcc -E -P xxx.c -o xxx.i

加上 -P 之后,生成的文件不包含以’#‘开头的信息

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值