Linux编译器

  • Vim的三种模式:命令模式、插入模式、底行模式。
  • Linux的编译器gcc的使用步骤:
预处理编译汇编连接
头文件展开,去注释,宏替换C代码转为汇编代码汇编代码转为二进制代码生成可执行文件或库文件
gcc -E test.c -o test.igcc -S test.i -o test.sgcc -c test.s -o test.ogcc test.o -o test
  • 函数库分为静态库和动态库(共享库)两种,区别为是否依赖第三方库:
静态库动态库
编译连接时,把库文件的代码拷贝一份到可执行文件中在程序执行时,由运行时连接文件加载库
后缀一般为".a"后缀一般为".so"

gcc默认生成的二进制程序是动态连接的。
[ldd]+文件名:查找连接方式;
[file]+文件名:查找文件属性。
动态连接改为静态连接:gcc test.c -o test -static.

  • 程序的发布方式有两种:release版本和debug版本。
releasedebug
发布版本,不可被调试开发版本,添加了调试信息,可被调试

gcc出来的二进制,默认为release模式。

  • Linux调试器gdb的使用:在源代码生成二进制程序的时候加上-g选项,
    gcc test.c -o test -g.
    gdb test.进入调试模式
  • 常见的命令:
    显示源代码:l+函数名/行号
    打断点:b+行数
    查看断点: info b
    删除断点:d+删除断点的行数
    进入程序:r
    进入函数调用:s
    跟踪查看一个变量:display+变量名
    until+行数:进入到某一行
    退出:quit .
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值