预处理编译

预处理:
源文件(.c) => 二进制可执行文件 => 计算机识别
gcc file.c => a.out
四步:
1 预处理
把头文件展开并保存到源文件中

		处理伪代码和特殊字符
		头文件
		< >: /usr/include
		" ": pwd => /usr/include

		宏命令
			format :
				#define name value

				
		条件编译
			格式一:
			#if const  
				cmd;
			endif
			如果const为0 , 则不执行,反之,则执行
		gcc -E file.c -o file.i
	2 编译
		检查语法错误或者词法规则 生成汇编代码
		gcc -S file.i -o file.s
	3 汇编 把汇编代码生成目标代码
		gcc -c file.s -o file.o
	4 链接 : 链接库文件
		gcc file.o -o file

		[root@localhost 8th]# ldd hello.o 
		not a dynamic executable
	[root@localhost 8th]# ldd hello
	linux-gate.so.1 =>  (0x003e8000)
	libc.so.6 => /lib/libc.so.6 (0x001f8000)
	/lib/ld-linux.so.2 (0x001da000)

四个文件:
main.c : 主文件 入口

darr.c : 功能模块函数
	功能子函数实现

darr.h : 公共资源存放处
	头文件
	函数声明
	宏命令
	全局变量
	条件编译
makefile :  多文件编译	 menu.o

在linux下,所有的文件都是从根开始
绝对路径:
从根开始就是绝对路径
相对路径:
从当前工作目录开始就是相对路径

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值