首页 技术 正文
技术 2022年11月15日
0 收藏 452 点赞 3,775 浏览 844 个字

导航:

  1. gcc编译

  2. 预处理

—–>x<————->x<—————>x<—————>x<————->x<—–

1. gcc编译

        — 1.0 预处理 gcc -E [.c –> .i ] 展开宏定义.        — 1.1 编译 gcc -S [ .c –> .s ]        — 1.2 汇编 gcc -c [ .s –> .o ]        — 1.3 链接 gcc -o [*.o –> bin] 链接了系统库.        — 1.4 手动链接库文件 -I 比如我拿到了一个私库,没有提供源码只提供了一些接口.那么在使用后编译的时候                需要手动导入,就是库的使用. -I路径. 在后文,我们自己会生成库文件,静态库和动态库,这个很基础,一定要学好.        — 1.5 预处理开关 gcc -Dxxx 打开预处理的选项.!! 2.预处理  2.1 #include    #include “” 和 #include <> 的区别. <>只寻找系统库.不寻找用户头文件.  2.2 #define    (1) 替换: #define 宏名 宏体 在替换过程中不进行语法检查,所以宏体运算尽量加().

    比如: #define A 3+2      a = 4*A –> 4*3+2 xx #define A (3+2)    (2) 宏函数 #define ABC(x) (5+x)  2.3 #ifdef #ifndef #else #endif    (1) 条件预处理     应用:调试版本和发行版本的切换

    (2) # 和 ##

      define ABC(x) #x 实际上是转换成”x” 字符串      define ABC(x) day##x –>dayx 就是一个连接符,把day当前前缀再展开.define:


int main()
{
#ifdef ABC
printf("我是调试信息\n");
#endif
printf("我是正常信息\n");
return ;
}

 
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,986
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,502
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,346
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,129
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,764
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,841