二、GDB 1、基础认识 2、查看代码 3、断点操作 4、调试详解 三、make/CMake 1、make 与 makefile 2、Makefile规则 3、文件时间戳、自动推导和模式匹配 4、变量、函数与其他应用 5、CMake 6、CMake 基础操作 7、CMake 构建实例 四、JSON 1、JSON认识 2、JSON 应用 五、Docker 1、Docker 介绍 2、Docker...
1.包含源文件的子文件夹包含CMakeLI.txt文件,主目录的CMakeList.txt通过add_subdirctory添加子目录即可; 2.包含源文件的子文件夹未包含CMakeLI.txt文件,子目录编译规则体现在主目录的CMakeList.txt中; 3.1编译流程 在linux平台下使用CMake构建C/C++工程的流程如下: 手动编写CMakeList.txt. 执行命令cmake PATH...
//makefileMain.exe:Main.omax.o gcc-oMain.exeMain.omax.oMain.o:Main.cmax.h gcc-cMain.cmax.o:max.cmax.h gcc-cmax.c //执行make,生成Main.exe 和目标文件# make CMakeLists.txt文件 --CMake命令--> makefile文件 --make命令-->目标文件/可执行文件 # CMakeLists.txt # CMake 最低版本号要...
通过CMakeList.txt文件来控制整个编译流程,自动生成makefile文件,实现了“Write once, run everywhere”的目标,可以支持win和*nix,通过在平台环境上进行搜索用于build的文件,windows+VS环境下,可以帮你生成.sln,vcxproj文件,而在*nix则是makefile,同理MAC OS则是xcode的项目文件。 GCC的相关命令: 1. 无选项编译链...
gcc可以将C、C++语言源程序、汇程式化序和目标程序编译、连接成可执行文件,如果没有给出可执行文件的名字,gcc将生成一个名为a.out的文件。 与gcc类似的还有clang,也是一个编译器。 GDB: 又称GNU调试器,是UNIX及UNIX-like下的调试工具 可以用GDB来做: ...
-c:只编译不链接为可执行文件,编译器将输入的.c 文件编译为.o 的目标文件。 -o:<输出文件名>用来指定编译结束以后的输出文件名,如果不使用这个选项的话 GCC 默 认编译出来的可执行文件名字为a.out。 -g:添加调试信息,如果要使用调试工具(如 GDB)的话就必须加入此选项,此选项指示编 ...
使用方法:在linux中创建一个如下图的.c文件,用于gdb调试。test.c 2.返回终端命令界面,编译生成可...
2. 在此基础上,如果在实践工作过程中遇到问题直接查看Makefile官方文档,或者书籍GNU Make。
编译器编译的时候产生用于gdb调试的额外信息,程序体积会比较大 15、-static 编译器将采用静态链接 16、-shared 编译器默认就为此选项(动态链接) 17、-Wall 启用所有的警告输出 18、-Werror 编译器会将所有的警告转换成错误信息,备注:当碰到警告信息时会当成错误退出编译 ...
编写自己的gcc, 今天调试公司的代码,发现makefile里没有指定-g,即没有gdb调试选项,而makefile历经N年的修改,已经非常庞大了,要为每个gcc都加上-g选项,将会是一个非常庞大的工作量,当我正在惆怅的时候,大神出现了,他告诉我可以写一个自己的