3大衍生版本
1、Minix/linux
2、system V
3、带界面的macOS,iOS,Berkley
linux的来源 芬兰的一位大学生引入了一切皆文件的理念
GPL许可证 保证了linux的共享性
GNU工程 是自由软件基金会创立,宗旨是法院一个不商业化的Unix系统
POSIX标准 统一了系统接口编程规范
Linux的发行版
Debian
Ubuntu
Fedora
Redhat
CentOS
GNU编译器
将程序员写的代码变为机器语言的工具
编译的过程
预处理-E 生成.i 生成标准C代码
编译 -S 生成.S 生成汇编
汇编 -c 生产.o 将汇编翻译为二进制语言
链接 -o 将多个.o合并为一个可执行文件
文件的后缀
.h头文件
.gch头文件编译后的文件
.c源文件
.i预处理文件
.s汇编文件
.o目标文件
.a静态库文件
.so动态库文件
头文件的作用
声明对应的.c文件中有哪些函数和全局变量
定义结构体,联合,枚举,宏,类型重定义
预处理指令
#include
声明头文件
#define
定义宏常量
#undef
define的结束标志
#ifdif
等于if define
#ifndif
等于if not define
#elif
等于else if
#endif
结束标
#
将标识符转换成字符串
##
a##b 合并为一个
#error
编译时报错
#warning
把警告当成错误
#pragma
#pragma once
文件只能被调用一次,防止文件重复调用,功能类似头文件卫士
#pragma comment(类型,"文件名")
类似于include“ ”会把指定文件包含到本文件中
#pragma werror(disable xxxx)
静态库/动态库详解
最新推荐文章于 2023-12-18 21:45:00 发布
本文详细探讨了静态库和动态库的概念、区别及使用场景。静态库在编译时会被链接到可执行文件中,增加文件大小但减少运行依赖;动态库则在运行时加载,节省磁盘空间但可能因缺失依赖导致程序无法运行。了解两者特点对于优化软件性能和管理依赖至关重要。
摘要由CSDN通过智能技术生成