- 博客(4)
- 收藏
- 关注
原创 静态库和共享库的优缺点
静态库是目标文件的集合,调用静态库就是把静态库中的二进制指令拷贝到可执行文件中。 静态库的优点:相对而言运行速度较快,可执行文件运行时不需要依靠静态库 静态库的缺点:可执行文件较大,当静态库修改时,需要重新编译才能使用 共享库就是带入口的可执行文件,调用共享库其实就是跳转到共享库所在的二进制指令所在的位置,当可执行文件执行时,共享库会被一起加载到内存中。 共享库的优点:可执行文件较小,当共享库修改时不需要重新编译即可使用 共享库的缺点:运行速度较慢,可执行文件运行时需要依靠共享库。 ...
2021-06-19 17:12:28
628
原创 头文件与makefile
头文件应该写什么: 问题:头文件可能被任何的源文件包含,意味着头文件的内容会在多个目标文件中存在,合并时不能冲突 重点:头文件中只能编写声明语句,不能有定义语句 全局变量声明 函数声明 宏常量 宏函数 typedef 类型重定义 结构、联合、枚举 gcc -c main.c 变成main.o gcc a.o main.o 连接后./a.out 头文件的编写规则: 1、为每个.c文件写一份.h文件,.h文件是对.c文件的说明 2、如果需要用到某个.c文件的变量、函数、宏,只需要把它的头文件导入 3、
2021-04-12 09:03:53
396
原创 复合型数据结构
结构 结构是由程序员设计的一种数据类型,用于描述某一个事物的各项数据,由若干个不同的基础数据类型组成 设计: struct 结构体名 { 数据类型1 成员名; 数据类型2 成员名; 。。。 }; 定义结构变量: struct 结构体名字 结构体变量名; 注意:在定义结构变量时,strcut关键词不能省略 定义结构变量初始化: struct 结构体名字 结构体变量名={v1,v2,v3…}; 注意:要根据设计结构体时成员顺序来初始化 struct 结构体名 结构体变量名 ={.成员名=v1,.成员名=
2021-04-12 09:02:32
367
2
原创 关于预处理的笔试面试
关于预处理的笔试面试 1、#define和typedef区别 如果是普通类型,它们的功能没有任何区别 #define INT int typedef int INT 如果是指针类型 #define INTP int* typedef int* INTP INTP p1,p2,p3; #define 只有p1是指针变量,p2 p3都是int类型变量 typedef p1p2p3都是指针变量 2、宏函数与函数的区别 它们是什么? 宏函数:不是真正的函数,只是代码替换,只是用法像函数 函数:一段具有某项功能的代
2021-04-07 19:22:31
83
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人