C和指针之预处理器之普通c/c++文件的编译过程
1、简单总结c/c++文件的编译3个过程
1)、预处理器进行预编译
#include <stdio.h>int main()
{printf("hwllo word\n");return 0;
}
主要做的事情是:
(2)处理所有的条件编译指令,#ifdef #ifndef #endif等,就是带#的那些
(3)处理#include,将#include指向的文件插入到该行处
(4)删除所有注释
(5)添加行号和文件标示,这样的在调试和编译出错的时候才知道是是哪个文件的哪一行
(6)保留#pragma编译器指令,因为编译器需要使用它们。
我们可以采用gcc -E命令来实现
gcc -E hello.c -o aa.c
然后我们查看aa.c文件
vim aa.c
extern int __vsprintf_chk (char * restrict, int, size_t,const char *
C和指针之预处理器之普通c/c++文件的编译过程相关推荐
- CSS预处理器之Sass与Less
本篇内容主要讲述css预编译器sass与less: Sass sass(Syntactically Awesome Stylesheets)是css预处理器,可帮助开发人员复用css代码开发,节省开发 ...
- 【C 语言】编译过程 分析 ( 预处理 | 编译 | 汇编 | 链接 | 宏定义 | 条件编译 | 编译器指示字 )
相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...
- c语言编译过程详解,预处理,编译,汇编,链接(干货满满)
楔子 我们在各自的电脑上写下代码,得明白我们代码究竟是如何产生的,不想了解1,0什么的,但这几个环节必须掌握吧. 我们的代码会经过这4个环节,从而形成最终文件,c语言作为编译语言,用来向计算机发出指令 ...
- 行程单图片python预处理_GCC编译过程(预处理-gt;编译-gt;汇编-gt;链接)
前言 如果你使用集成环境开发.那么你点击编译按钮就可生成可执行文件.但是C程序从源代码到二进制行程序都经历了那些过程?你知道吗?这些过程集成开发环境在点击编译按钮后都做完了,如果编译没有出错,即可生成 ...
- 丁鹿学堂:css预处理器之less学习(一)
less介绍 less是比较好用的css预处理语言. less增加了很多好用的新特性. 常用的有变量,混入,嵌套,计算等 我们要注意的是,less不管是在服务器还是在浏览器中,都不能直接被使用,而是要 ...
- css预编译其器,CSS预处理器之——Less
Less,顾名思义,少,在我看来,它有着与jQuery一样的思想--Write Less,Do More,尽管实际上这两者是完全不同的两个东西. Less是一个CSS预处理器,先不管人们为何这样命名, ...
- Snort预处理器之`sfPortscan`
文章目录 1 sfPortscan 预处理器简介 2 sfPortscan 预处理器支持的端口扫描类型 2.1 Portscan 2.2 Decoy Portscan 2.3 Distributed ...
- C/C++语言之通过定义指针函数方式来实现在一个cpp文件里面获取另外一个cpp文件函数的返回值
1.定义函数指针 typedef int (* fun) (); static fun f; 2.代码实现 3.结果 4.总结 我们可以这样使用 在a.h文件里面里面定义函数指针,并且有个传递函数指针 ...
- C语言之预处理探究(三):头文件包含
相关博文:C语言之预处理探究(四):#.##和预定义宏 相关博文:C语言之预处理探究(二):条件编译(Condition Compile) 相关博文:C语言之预处理探究(一):宏 参考博文:C语言的头 ...
最新文章
- SAP S4HANA Buiness Partner名词解析
- WebForm 【上传图片--添加水印】
- AWS re:Invent 2019 召开 | 云原生生态周报 Vol. 30
- GitHub Pages搭建属于自己的静态网站,并绑定个人域名
- 1026 程序运行时间 (15 分)
- 取多补少C语言,leetcode题目: 数字的补数 的C语言解法
- Linux中如何让进程(或正在运行的程序)到后台运行?[zz]
- NWT内斗:为了还不值钱的股份
- leetcode Generate Parentheses python
- 个人电话号码查询系统
- 无线通信中的IQ调制,BPSK调制,QPSK调制,16QAM调制的理解
- canvas 角度 弧度 换算
- 电脑无法设置默认打开方式的解决办法
- UWA DAY 2021 精彩盘点 | 35场技术议题掀起的思维浪潮
- 项目管理之项目整体管理
- 微信域名检测API接口实现方法及原理
- 【Hotel TV】三星商用TV解决方案
- pycharm调试时显示图片
- 怎么修复录音笔(设备)损坏的WAV或MP3文件0字节文件
- 【爱加密】Android App应用安全加固详细步骤
热门文章
- .NET6 新功能和新生态
- 如何对 string 进行Base64编码,解码?
- Dotnet Core应用跨框架版本运行
- [C#.NET 拾遗补漏]14:使用结构体实现共用体
- 在.NET中使用DiagnosticSource
- 5分钟快速接入钉钉实现钉钉考勤
- 基于.NetCore3.1搭建项目系列 —— 使用Swagger导出文档 (番外篇)
- 同源策略_如何支持跨域
- 我的 .NET Core 博客性能优化经验总结
- PowerBI 11月更新 数据PPT是否会引领新一轮革命