Linux中gcc、gdb、ctags的使用

一、程序的编译链接

一个源代码要成为一个可执行程序,需要经过编译器的编译、链接。

在Linux中的编译器主要有两种:gcc 、 g++ ;gcc主要用于编译C代码;g++用于编译C++代码。



那如何查看编译的三个小过程呢?

预处理:


通过上图,可以看到生成了一个.i文件;命令:gcc -E test.c -o test.i

解释:gcc 表示用gcc编译器编译 ; -E 是表示将源文件在预处理完成后便停止;-o 用来确定输出文件名称的

预处理完成后保存到 test.i中。

编译:


命令:gcc -S test.i -o test.s   

解释:-S 表示进行到“编译”完成后就结束,


汇编:

命令:gcc -c  test.s -o test.o

解释:-c 表示进行到汇编完成后就结束,

这三个过程中的ESc可以通过键盘的退出键“Esc”进行联想记忆,但需注意大小写问题。

在写代码的时候往往要用到各种库函数;那么要使用这些库函数,便需要链接这些库。


二、gcc中的链接

在写代码的时候往往要用到各种库函数;那么要使用这些库函数,便需要链接这些库。

库可以分为:动态库、静态库

动态库:资源的利用率高,但程序的执行需要依赖第三方库  (.a)

静态库:程序不依赖任何第三方库; 可移植性好,但太占资源 ( .so )

那么gcc编译程序时用的是哪种链接库?

查看文件所链接的库:

 命令: ldd  可执行文件 

例如:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值