gcc&gdb
GCC
gcc/g++编译参数
-I 指定头文件目录
-L 要链接的库所在的目录
-l 需要链接库的名称,注意不是库文件名称,比如库文件为 libtest.so,那么库名称为 test。
-w 禁止显示所有警告信息。
-Wall 会打开一些很有用的警告选项,建议编译时加此选项。
-Werror 把警告当做错误,出现任何警告即放弃编译。
-Wextra 打印一些额外的警告信息。
-D 可以定义宏,-Dname 定义宏name,默认定义内容为字符串“1”,相当于 C 语言中的 #define macro,-Dname=defn 定义宏name,并且内容为defn,这个defn目测必须是个变量
-fpic 编译生成动态库的时候可以加,不加也可以,但是每个使用这个.so文件代码段的进程在内核里都会生成这个.so文件代码段的copy,不会达到真正共享的作用。 https://blog.csdn.net/derkampf/article/details/69660050?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
-shared 指定生成动态链接库。
-O0 、-O1 、-O2 、-O3 编译器的优化选项的 4 个级别,-O0 表示没有优化, -O1 为默认值,-O3 优化级别最高。编译静态库.a
编译动态库.so
GDB
GDB 主要功能
GBD调试的四种方式
GDB常用参数
GDB断点调试常用命令
GDB调试多进程
GDB 查看宏信息


GDB 内如何修改变量

GDB watch作用及使用
GDB调试core文件
多线程程序调试,
最后更新于