![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux c
k117470154
这个作者很懒,什么都没留下…
展开
-
Linux c - 利用JMP指令打动态桩
代码开发时,本模块的代码经常会用到外部模块的某些函数,这些外部函数在进行单元测试时一般会进行打桩。这种一般称之为静态打桩,比如:void func(){ exfunc(); // 本模块的func函数调用了外部模块的exfunc函数}//在进行本模块的单元测试时 exfunc在编译时会提示未定义 所以一般会进行如下打桩int exfunc(){ return...原创 2018-11-24 23:35:55 · 1032 阅读 · 3 评论 -
C++面试 一 基础
1. 关键字的作用: extern: 1. 用在变量和函数前面,表示定义在其他文件或模块中; 经常出现extern的变量和函数,和声明的不一样,一般解决方法是,放到头文件中加extern,其他模块引用头文件 2. extern C C++为了解决函数多态的问题,编译时会将函数名和参数合起来生成一个中间...原创 2019-03-09 22:50:44 · 143 阅读 · 0 评论 -
C++面试 一 内存管理
1. 内存泄漏 内存泄漏是程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果 linux检测内存泄漏的工具 mtrace valgrind2. 什么是内存碎片,怎么避免内存碎片 new申请大量不连续的空间后,剩余可用内存分布零散,无法被有效使用。这些零散的可用...原创 2019-03-17 21:14:12 · 451 阅读 · 0 评论 -
C++面试 一 进程和线程
1. 进程间的通信方法 1. 管道 pipe 管道也是一种文件,有两种方式:匿名管道和命名管道 管道文件大小一般为4K或64K 匿名管道:int fd[2]; if(pipe(fd) < 0),只有父子进程可以使用,单向数据通信,不需要考虑同步和互斥,父子进程退出时,管道就结束了,生命周期是进程。 命名管道:i...原创 2019-03-13 00:42:19 · 574 阅读 · 0 评论 -
C++面试 一 socket、tcp相关知识总结
1. socket编程知识 1> server和client函数调用流程 server: socket、bind、listen、accept、send/recv client:socket、connect、recv/send 2> listen函数第二个参数的作用 当客户端发起连接,发送SYN到服务端后,服务端的...原创 2019-03-25 21:07:01 · 874 阅读 · 0 评论 -
linux 相关问题
1. gcc -o 优化等级1. o0 不提供任何优化2. o1 最基本的优化,针对代码的分支,表达式,常量进行优化,编译器会将代码编程更加短小,减少内存的占用率,操作系统进行内存调度时就会更快3. o2 在上一级的基础上会进行更严格的细分,加入了寄存器的使用,4. o3 编译器对循环每一层预测,以便将循环拆分,提高执行效率,还会试图用已有的值来代替未知的值,使用加替代乘,缺点十分...原创 2019-05-27 23:23:20 · 170 阅读 · 0 评论