【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

最近一段时间学习编译器,一直被c预处理的事情烦恼着。今天上网查资料,发现在linux平台上面有一个cpp命令。我们在调用gcc -E的时候,其实在后面调用的其实就是cpp。

1、基本命令用法

cpp [-options] input_file output_file

2、常用选项

-D name
-D name=definition
-U name
-undef
-I dir
-Wall
-Wcomments
-Wendif-labels
-w
-M
-MM
-x c
-x c++
-x objective-c
-x assembler-with-cpp 

3、示例用法

cpp hello.c hello.txt

ps:这个程序是gcc提供的,所以如果需要看代码,那么需要下载gcc的相关代码。这也从另外一个角度说明,gcc本身完成的工作就是c文件到asm文件的转变,预处理、汇编编译、链接、反汇编、二进制提取这些都是其他程序来完成的。

随想录(源代码预处理命令)相关推荐

  1. C/C++之预处理命令

    C程序的源代码中可包括各种编译指令,这些指令称为预处理命令.预处理命令属于C语言编译器,而不是C语言的组成部分.C语言预处理程序包括下列命令:#define,#error,#include,#if,# ...

  2. C语言预处理命令总结

    预处理指令是以#号开头的代码行,# 号必须是该行除了任何空白字符外的第一个字符.# 后是指令关键字,在关键字和 # 号之间允许存在任意个数的空白字符,整行语句构成了一条预处理指令,该指令将在编译器进行 ...

  3. c语言里有js的预编译环节吗,C语言第十一讲,预处理命令.

    C语言第十一讲,预处理命令. 一丶预处理简介 什么是预处理,预处理就是预先处理. 我们知道,程序会经过编译,连接形成可执行文件 这些在编译之前对源文件进行简单加工的过程,就称为预处理(即预先处理.提前 ...

  4. R 多变量数据预处理_超长文详解:C语言预处理命令

    一  前言 预处理(或称预编译)是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作.预处理指令指示在程序正式编译前就由编译器进行的操作,可放在程序中任何位置. 预处理是C语言的一个重要功能 ...

  5. c语言输入输出预处理命令,C语言第十一讲,预处理命令.

    C语言第十一讲,预处理命令. 一丶预处理简介 什么是预处理,预处理就是预先处理. 我们知道,程序会经过编译,连接形成可执行文件 这些在编译之前对源文件进行简单加工的过程,就称为预处理(即预先处理.提前 ...

  6. vc++学习篇(三)——预处理命令之条件编译(#ifdef,#else,#endif,#if等)

    预处理就是在进行编译的第一遍词法扫描和语法分析之前所作的工作.说白了,就是对源文件进行编译前,先对预处理部分进行处理,然后对处理后的代码进行编译.这样做的好处是,经过处理后的代码,将会变的很精短.   ...

  7. C语言程序设计 细节总结(第10-11章 文件、预处理命令)

    第10章 文件 1.C语言系统把文件当成一个流,按字节进行处理 2.文件按编码方式分为二进制文件和ASCII文件(文本文件) 3.用文件指针标识文件,打开文件可取得该指针 4.对文件进行操作,打开-& ...

  8. c语言用define预处理命令定义,C语言程序设计第八章预处理命令..doc

    一.?选择题1.?对宏命令的处理是_ ___A.?在程序执行时进行的B.?在对程序中其他语句进行编译前进行的C.?在程序连接时进行的D.?与程序中其他语句同时进行编译2.?下面对编译预处理的叙述正确的 ...

  9. c++ 预处理命令 预定义变量用法

    预处理命令 预定义变量用法 语法 在不同的编译器可能会有所不同, 但是一般是可用的 语法 LINE FILE DATE TIME _cplusplus STDC 在不同的编译器可能会有所不同, 但是一 ...

最新文章

  1. 普华永道:2018 AI预测报告 将回答关于数据的重大问题
  2. 2012年上海市高等学校计算机等级考试试卷,2012年上海市高等学校计算机等级考试A试卷...
  3. Android安全加密:消息摘要Message Digest
  4. 【IM】关于聚类评价算法的理解
  5. linux上安装hackrf_在Linux上安装Kubectl
  6. 用Python建设企业认证和权限控制平台
  7. 工厂设计模式和策略设计模式_设计模式:策略
  8. Martin Fowler 微服务的原文翻译(转载)
  9. linux源码包与RPM包的区别
  10. [HAOI2007]反素数ant
  11. ftl if else判断_为什么都不用 switch 而使用 if/ else 来做条件判断?
  12. 安装Electron
  13. 字符串转换的UnicodeDecodeError—— ‘\xa0’问题
  14. [ERROR CRI]: unable to check if the container runtime at “/var/run/dockershim.sock“
  15. 【通信仿真】基于matlab蒙特卡罗算法2FSK系统抗噪声性能仿真【含Matlab源码 1632期】
  16. 【CF】438E. The Child and Binary Tree
  17. linux 启动u盘引导,U盘启动引导安装linux
  18. 字典写入excel_Excel中“先出式”出货的问题,以后出库太方便了
  19. 基于STM32单片机的精彩设计实例合集
  20. 不用管别人怎么评论自己_不要管别人怎样评价你,做好自己就行了

热门文章

  1. express框架日志处理组件morgan
  2. 剑指offer 面试题5—从尾到头打印链表
  3. 年老代过大有什么影响
  4. 取得浏览器当前鼠标的X,Y坐标的JavaScript脚本及document元素的一些重要属性
  5. mysql创建视图不允许子查询
  6. 单行及多行文本溢出以省略号显示的方法总结
  7. 网站后台发通知页面效果图
  8. UISearchController的使用
  9. 数据可视化(3)--Google Charts
  10. Silverlight访问Wcf Ria Library的问题总结