C语言程序编译与运行

C程序从源代码到可执行文件的全过程(GNU GCC-编译驱动器) 分别是预处理(CPP展开头文件内容以及宏定义的替换)、编译(CC 将预处理后的源代码转换成汇编代码)、汇编(as 将汇编代码转换成机器码)、链接(ld 将一个或多个目标程序生成可执行文件)(如果是PROC 程序 还要多一部pc类型文件转换为C文件 pc独有的关键字替换成ODBC的API调用形式)

GCC的参数:
-UTEST 预处理未定义参数TEST 下面的TEST不生效
-DTEST 下面定义的参数生效
默认不输是什么情况 大伙可以试试
eg:
#ifdef TEST
***
#endif
-std
使用标准C还是GNU C
-ansi、-std=c90
-ansi/-pedantic
拒绝扩展新特性

相关工具:
hexdump :hexdump -c 查看C文件对应的16进制
objdump:objdump -d 可以查看反汇编的代码,可以查看目标文件和可执行文件
ldd: 查看可执行文件应用了哪些动态库

静态库:类似tar ,ar rcs lib*.a a.o b.o ;ar -t可以查看包含哪些目标文件

动态库:gcc -shared -fPIC -o lib*so a.c b.c

头文件:头文件搜索路径 对#include《**。h》 先在/usr/local/include 再在 /usr/include 搜索 对#include"" 默认在当前路径搜索 再在默认路径搜索

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值