面试复习
文章平均质量分 89
xiaoqiudao
这个作者很懒,什么都没留下…
展开
-
Linux环境编程复习
1、静态库和共享库的区别优缺点 静态库: 就是目标文件的集合,调用静态库文件就是把静态库中的二进制指令拷贝到可执行文件中 code.c + math.a 优点:运行速度相对比共享库较快,可执行文件运行时不需要依赖静态库 缺点:可执行文件相对较大,当静态库修改后,可执行文件需要重新编译 共享库: 就是没入口的可执行文件的集合,调用共享库时就是记录共享库二进制的指针的位置即可,当执行可执行文件时共享库文件就会一起加载到内存中,可执行文件就可以跳转到共享库中运行 优点:可执行文件相对较小,当共原创 2021-06-21 20:23:22 · 162 阅读 · 0 评论 -
C语言面试复习
1、C代码变成可执行文件的过程: 预处理: 把源文件翻译成预处理文件 gcc -E code.c 显示预处理的结果 gcc -E code.c -o code.i 生成以.i结尾的预处理文件 编译: 把预处理文件翻译成汇编文件 gcc -S code.i 生成以.s结尾的汇编文件 汇编: 把汇编文件翻译成二进制的目标文件 gcc -c code.s 生成以.o结尾的目标文件 链接: 把若干个目标文件合并成一个可执行文件 gcc code.o a.o b.原创 2021-06-21 19:48:48 · 221 阅读 · 0 评论 -
C++面试复习
malloc/free 与 new/delete 区别 malloc/free new/delete 身份 函数 运算符/关键字 返回值 void* 带类型的指针 参数 字符个数(手动计算) 类型,自动计算字节数 失败 返回NULL 抛异常 std::bad_alloc 构造/析构 不调用 自动调用 初始化 不能初始化 可以初始化指定的值 头文件 包含头文件 直接使用 什么是内联函数 内联函数也会被翻译成二进制指令,调用语句不会生成跳转语句,而直接把函数的二进制原创 2021-06-17 20:24:39 · 111 阅读 · 0 评论