评测网站做的那些条形图,文稿写作网站,广东建设职业注册中心网站,seo数据分析哪些方面3--编译和执行过程1.编译2.gdb调试gdb 查coreGCC是一个编译套件#xff0c;是一个以gcc命令为首的源码施工队。施工队的成员有gcc、cpp、as、ld四个成员
预处理–宏定义展开#xff0c;头文件引入-- cpp 等价于 gcc -E编译–C语言-汇编语言–gcc -S汇编–汇…
3--编译和执行过程1.编译2.gdb调试gdb 查coreGCC是一个编译套件是一个以gcc命令为首的源码施工队。施工队的成员有gcc、cpp、as、ld四个成员
预处理–宏定义展开头文件引入-- cpp 等价于 gcc -E编译–C语言-汇编语言–gcc -S汇编–汇编语言-机器语言–gcc -c链接–链接相关的.o文件–ld
-o 指定输出文件的名字
1.编译
win操纵系统老九课堂笔记 1.预处理–将头文件(.h)的具体内容展开至源文件中删除注释添加行号和文件标识等预处理完产生一个.ii文件c语言编译将产生一个.i文件 cpp demo.cpp demo.ii cpp 为 C Preprocessor的缩写 表示输出到文件 还有另外两种命令也可以用于产生.ii 文件,其中-o参数用于指定输出文件命 g -o demo.ii -E demo.cpp g -o demo.ii demo.cpp 2.编译–对.ii文件进行词法/语法/语义分析生成相应的汇编文件,.s文件 g -o demo.s -S demo.ii 3.汇编–将汇编文件转换成二进制目标文件.o .obj结尾 as -o demo.o demo.s g同样可以实现 g -o demo.o demo.s 4.连接–将目标文件和C库函数连接将涉及到的库代码合并到目标代码中 g -o demo.exe demo.o 生成demo.exe可执行文件
macvscode 在vscode 终端上输入 g main.cpp -o main /Users/chenyingying/CppProject/Helloworld/main 即可运行猜测第一条语句是不是包括了预处理编译汇编连接于一体生成mac/linux下可执行文件main.out文件。输入目录运行对应的可执行文件。
2.gdb调试
GNU debugger–Richard Stallman设计的 要想通过gdb调试必须在编译时加上调试接口即-g gcc -g ./rubbish.c input.c readfile.c -o rubbish19_debug gdb ./rubbish19_debug GDB 的一些常用指令
run/r–进入调试状态后运行代码break/b–设置断点break 12 # 在源码12行设置断点list/l–显示源代码continue/c–继续执行直至下一个端点或者结束print/p–打印变量的值examine/x–查看指定内存地址中的数据只能查看当前被调试程序能够非法访问的地址next/n–单步执行命令。
MAC上使用gdb(完美解决)
(证书没有添加成功sudo应该可以跑)
gdb 查core
sudo service apport stop # 关掉某些服务ulimit -c unlimited # 启动某些东西xxxbuild_run app1_test # 编译运行某个文件产生core文件 vcat /proc/sys/kernel/core_pattern # 查看core文件生成的路径cd xxx/test # cd core 文件目录gdb app1_test core # gdb 调试出core文件bt # 跳转到出core的地方