越秀移动网站建设,看广告领收益的软件,漳州最专业的网站建设公司,百度做网站怎么样文章目录VIM命令思维导图GCC编译器1、GCC编译文件练习2、静态库动态库制作练习将此函数编译成动态库将此函数编译成静态库GCC优化选项 -OnGDB调试命令练习练习一#xff1a;编写一个程序#xff0c;通过gdb调试#xff0c;使用到gdb的b#xff0c;n#xff0c;s#xff0…
文章目录VIM命令思维导图GCC编译器1、GCC编译文件练习2、静态库动态库制作练习将此函数编译成动态库将此函数编译成静态库GCC优化选项 -OnGDB调试命令练习练习一编写一个程序通过gdb调试使用到gdb的bnsinfobacktracep等命令。练习二练习gdb的xbt等命令练习定位段错误调试core文件的步骤使用环境Ubuntu18.04 使用工具VMWare workstations xshell作者在学习Linux的过程中对常用的命令进行记录通过思维导图的方式梳理知识点并且通过xshell连接vmware中ubuntu虚拟机进行操作并将练习的截图注解每句话对应相应的命令读者可以无障碍跟练。第二次练习的重点在于vim编辑器、GCC编译和GDB调试的使用。需要提前安装VIM、GCC。VIM命令思维导图 由于VIM命令的练习不容易截图所以请读者自行练习VIM命令。
GCC编译器 1、GCC编译文件练习
编写一个c程序使用GCC命令依次进行预编译编译汇编链接得到.i文件.s文件.o文件和可执行文件
2、静态库动态库制作练习 编写一个做两个数减法功能的函数sub返回值为输入的两个数的差然后将其编译为动态库静态库并使用静态库和动态库编写usefunc.c调用通过库调用函数得到可执行的二进制。 将此函数编译成动态库 将此函数编译成静态库 静态库和动态库的比较
1、动态库只在执行时才被链接使用,不是直接编译为可执行文件并且一个动态库可以被多个程序使用,故可称为共享库。
2、静态库将会整合到程序中在程序执行时不用加载静态库所以调用静态库的速度相较于动态库会快一些。
3、因此静态库会使你的程序臃肿并且难以升级,但比较容易部署。而动态库会使你的程序轻便易于升级但难以部署GCC优化选项 -On 比如-O1主要进行线程跳转和延迟退栈两种优化-O2和-O3各有其不同的优化。虽然优化可以加速代码运行速度但是将给调试带来很大的挑战。因为代码优化后原先在源程序中声明的变量可能不再使用控制流也可能突然跳转到意外的地方所有这些对调试来讲都是不好的。所以在调试的时候最好不要使用优化选项只有在最终发布的时候才考虑将其进行优化。
GDB调试命令练习
练习一编写一个程序通过gdb调试使用到gdb的bnsinfobacktracep等命令。 这上述命令要熟练使用大多都是英文单词首字母比较好记。再补充一些其他的命令。 练习二练习gdb的xbt等命令练习定位段错误调试core文件的步骤