Linux修炼之路之gcc/g++,动静态链接及动静态库

目录

一:Linux编译器-gcc/g++ 

 预处理-编译-汇编-链接

1.预处理

2.编译 (生成汇编)

3.汇编(生成机器可识别代码)

4.链接(生成可执行文件或库文件)

 三:动静态链接和动静态库

动静态库

动静态链接

1.动态链接 

2.静态链接

3.注意点

4.各自优缺点

5.ldd和file指令

四:debug和release,readelf指

接下来的日子会顺顺利利,万事胜意,生活明朗-----------林辞忧

一:Linux编译器-gcc/g++ 

1.对于gcc只能编译c语言代码,g++既能编译c语言代码也能编译c++代码,但g++主要编译c++

2.常用形式 gcc/g++ 文件名,此时就会形成a.out的可执行文件,再./a.out

3.也可以根据以下方式来书写

gcc 源文件名 -o 目标文件名(推荐写法)(一步到位,下面的是分步处理)

 gcc -o 目标文件名  源文件名 

 

4.对于为啥我们直接能够在windows/Linux中进行 c/c++等的开发呢?

最重要的是我们的系统中一定要提前或者后续安装上c/c++开发相关的头文件,库文件

对于c/c++中起始的几行都是c/c++的头文件,这些头文件在预处理时会全部展开,而对于具体的调用的函数如printf,就得调用c/c++标准库的库函数来完成对应的操作

所以只要系统安装了相关的头文件和库文件就可以完成c/c++的开发,具体的来说就是c/c++开发环境不仅仅指的是vs,gcc,g++这些,更重要的是语言本身的头文件和库文件

因此对于编译型的语言,安装开发包,必定是下载安装包对应的头文件和库文件

Linux下的头文件路径 --gcc/g++编译时的默认搜索路径

 预处理-编译-汇编-链接

1.预处理

预处理阶段完成的是宏调换,去注释,头文件展开,条件编译等操作,仍是c代码

gcc表示格式:gcc -E 源文件名 -o 以.i结尾的目标文件

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值