make 进度条

1. 预处理的一点理解

c++预处理展开的头文件是公开的,它只有声明,没有实现。实现是在头文件对应的同名.c文件中,只不过不会展现给我们,直接编成库了。库其实就是上节讲的将.c变成.o然后一起打包

2.动静态库,动静态链接

动态链接是在编译时链接的(将对应库中对应函数的地址写入代码,在代码运行时直接跳转到对应库中对应函数实现处)

3.对比优劣

4.验证

5.其他问题

这里再谈c++

动静态库再内存中的运行

6.库浅显理解

以下代码为一体

但我不想暴露源文件.c

将用到的函数的头文件、.o文件放出

将要执行代码的文件的头文件、要执行代码的文件中用到的函数的头文件、.o文件放到同一个目录下进行链接。然后将要执行代码的文件的.o文件、要执行代码的文件中用到的函数的.o文件放在一起链接形成新可执行文件。这样就不会暴露源文件,而且还能让程序运行

库的本质是:将多个.o文件进行了打包(后面学将.o文件打包的指令)。库就是.o文件

链接的本质就是:将要执行文件的.o文件与要执行文件内用到的库内函数的.o文件放到一起合并(所有的.o文件)链接

系统所有头文件

系统所有库文件(.o)

7.make

如果源代码太多,编译麻烦

相关推荐
YYRAN_ZZU2 小时前
如何编一个gcc的交叉工具链
linux·c++
shjita2 小时前
centos中安装docker
linux·docker·centos
程序猿老A3 小时前
阿里云linux服务器安装mysql并实现远程访问
linux·服务器·阿里云
wuminyu3 小时前
JVM虚拟线程的底层实现原理分析
java·linux·c语言·jvm·c++
M78佐菲3 小时前
ARM学习笔记(9)
linux·arm开发·笔记·嵌入式硬件·学习
赵民勇3 小时前
glib-compile-schemas命令详解
linux·运维
小小、码农3 小时前
〖Linux文件系统〗:彻底打通文件 IO 全链路
linux·开发语言·数据结构·c++·系统
大侠归来3 小时前
cJSON 源码解析:parse_string 函数深入剖析
linux·网络·算法
小小、码农3 小时前
〖Linux进程间通信〗IPC全家桶:匿名管道、FIFO、共享内存、消息队列与信号量一篇打通
linux·运维·服务器