进入gdb:
gdb 执行文件名
b main //设置断点在main处
r //开始执行
s //单步执行
p //查看变量
quit //退出gdb
gcc中参数-I
在GCC编译器中,参数-I
用于指定头文件的搜索路径。该参数后面跟着一个目录路径,编译器在编译源文件时会在指定的目录中查找头文件。
gcc -I/path/to/include example.c -o example
gcc中-Wall
在GCC编译器中,参数-Wall
用于打开编译器的额外警告选项。它启用了一组警告,帮助开发者在编译代码时捕捉潜在的问题和不规范的代码。
具体而言,-Wall
参数会启用以下常见的警告选项:
- 未声明的函数:如果在使用函数之前没有进行函数声明,将发出警告。
- 未使用的变量:如果定义了变量但未使用,将发出警告。
- 类型不匹配:如果赋值或参数传递中存在不匹配的类型,将发出警告。
- 返回值类型不匹配:如果函数的返回值类型与其声明的类型不匹配,将发出警告。
- 关键字冲突:如果代码中使用了与C语言关键字相同的标识符,将发出警告。
- 其他编码规范问题:例如,缺少逗号、分号、括号不匹配等。
使用-Wall
参数可以让编译器在编译过程中更加严格地检查代码,提醒开发者潜在的问题。这有助于提高代码质量和可靠性,并帮助发现一些常见的编程错误。
gcc中参数-L 和 -l
参数-L
用于指定编译器在链接过程中搜索库文件的路径。
具体来说,-L
参数后面可以跟着一个目录路径,该路径是库文件的存放位置。当编译器在链接过程中需要解析某个函数或符号的引用时,它会按照指定的顺序在这些路径下查找对应的库文件。
gcc -o myprogram myprogram.c -L/path/to/libs -lexample
-L
和 -l
是用于编译和链接时指定库文件路径和库文件名称的选项。
-L
选项用于指定编译器或链接器在搜索库文件时要查找的路径。它后面紧跟着要添加到搜索路径的目录路径。例如,-L/usr/local/lib
将告诉编译器或链接器在/usr/local/lib
目录中搜索库文件。-l
选项用于指定要链接的库文件的名称。它后面紧跟着要链接的库文件的名称,不包括库文件的前缀lib
和文件扩展名。编译器或链接器会自动在指定的路径中搜索以lib
开头并以指定名称结尾的库文件,并将其链接到编译或链接的目标中。例如,-lmylib
将链接名为libmylib.so
或libmylib.a
的库文件。
综合起来,使用 -L
选项指定库文件的搜索路径,使用 -l
选项指定要链接的库文件的名称。