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

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

相关推荐
程序员-Benothing5 小时前
Linux安全加固指南:账号、权限、服务、审计基线
linux·运维·安全
木子欢儿8 小时前
openconnect Linux客户端安装 以及开机自启和登录
linux·运维·服务器
..Dauntless..8 小时前
【Linux】文件系统(一)
linux·运维·服务器
GeW10 小时前
新质生产力路线图:从Linux到数据库,企业落地要点都在这
linux
IMPYLH11 小时前
Linux 系统备份与镜像
linux·服务器·网络
qetfw11 小时前
Bash 字符串处理:参数展开、序列与脚本执行方式
linux·开发语言·chrome·bash
hhwyqwqhhwy11 小时前
设备树之 provider 和 consumer
java·linux·前端
aaa最北边11 小时前
Linux 上的交叉编译
linux·运维·服务器
小张成长计划..12 小时前
【Linux】27:日志
linux·运维·服务器
别动我齐刘海12 小时前
机器人 C++ / 系统联调补强2——异常处理、Protobuf
linux·c++·人工智能·学习·算法·机器学习·机器人