Linux 开发工具

1、预处理(进行宏替换)
a、去注释    b、头文件展开    c、条件编译   d、宏替换

-E 选项,告诉gcc,从现在开始进行程序的翻译,将预处理工作做完之后就停下来

2、 编译(生成汇编)

 -S 从现在开始进行程序的翻译,将编译工作做完,停下来

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

 - c 从现在开始进行程序的翻译,将汇编工作做完,停下来

可重定位目标二进制文件,简称目标文件,.obj文件。

不可以独立执行,虽然已经是二进制了,需要经过链接才能执行。

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

将可重定位目标二进制文件和库进行链接形成可执行程序。

5、库

Linux:   . so (动态库) . a(静态库) 库有自己的命名规则的: libname.so.XXX

6、方法的实现就是在库当中!

        库其实就是把源文件(.c),经过一定的翻译,然后打包 --- 只提供一个文件即可,不同提供太多的源文件,也可以达到隐藏文件的目的

        头文件提供方法的声明,库文件提供方法的实现+代码 = 软件

7、. o 文件 和库是如何链接的

a、 动态链接

在Linux中, 编译形成的可执行程序,默认采用的是动态链接 --- 提供动态库

b、 静态链接

在Linux中,如果要按照静态链接的方式,进行形成可执行程序,需要添加 -static选项 --- 提供静态库。

8、动 VS 静

a、动态库因为是共享库,有效的节省资源(磁盘空间,内存空间,网络空间等)【优】动态库一旦缺失,导致各个程序都无法运行【缺点】

b、静态库,不依赖库,程序可以独立运行【优点】,体积大,比较消耗资源【缺点】

9、debug && releas

a、debug 可以呗追踪调试,形成可执行程序的时候,添加了debug信息

  • 13
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值