gcc 编译器使用小技巧

背景:

在使用gcc/g++ 编译器编译c/c++ 工程的时候,通常会遇到很多莫名其妙的编译错误(非语法层面的错误),比如使用第三方库的头文件版本不匹配,库的链接顺序不对、函数符号找不到、增加或者去除一些宏定义 等问题。通过适当的使用gcc/g++ 的一些小技巧,可以解决所遇到的问题

1.打印连接库的具体路径

使用-print-file-name选项就可以显示出gcc究竟会连接哪个库了,例如

$ gcc -print-file-name=libc.a
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libc.a

在构建工程的时候,可以在CFLAGS 或者CXXFLAGS 中增加该编译选项,方便查看某个库是否是链接到自己想要的库上面

2.打印头文件搜索路径

当我们的本地电脑存在不同的库或者源码版本的时候,有时候会出现头文件引用错误的情况,可以使用 -v 编译选项,例如

$ gcc -v foo.c
...
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc/x86_64-linux-gnu/4.6/include
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
...
3.打印彩色诊断信息

当出现编译出错的时候,我们很多情况下都希望可以在输出的log中快速定位到错误log 所在的位置,可以使用 -fdiagnostics-color=auto 编译选项,同时
export GCC_COLORS

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: C语言是一种计算机编程语言,用于开发各种应用程序和系统软件。下面是使用C语言的一些步骤: 1. 安装C编译器:为了编写和运行C程序,您需要在计算机上安装C编译器。常用的C编译器GCC、Clang、Visual Studio等。 2. 编写C代码:使用C语言编写程序,可以使用任何文本编辑器。您需要了解C语言的基本语法和结构,如变量、函数、指针、条件语句、循环语句等。 3. 编译C代码:编写C程序后,使用编译器将其编译成可执行文件。在命令行中输入编译命令,例如“gcc -o output file.c”,其中“file.c”是您编写的C源文件,“output”是编译后生成的可执行文件的名称。 4. 运行C程序:编译成功后,您可以在命令行中运行C程序,输入“./output”即可执行程序。 5. 调试C程序:如果程序出现错误,您需要进行调试。可以使用调试器,例如GDB,在程序运行时跟踪变量和函数的值,从而找到问题并解决它。 以上是使用C语言的一些基本步骤,希望能对您有所帮助。 ### 回答2: C语言是一种通用的编程语言,可以用于开发各种应用程序。以下是使用C语言的一般步骤: 1. 安装编译器:要编写和运行C程序,首先需要安装一个C编译器。常见的C编译器GCC和Clang等。 2. 编写代码:使用文本编辑器创建一个新的C源文件,使用.c作为文件扩展名。在源文件中编写C代码,包括变量声明、函数定义、循环和条件语句等。 3. 编译程序:在终端中进入包含源文件的目录,并使用编译器将C代码编译为机器代码。例如,使用gcc编译器可以运行以下命令:gcc -o outputfile sourcefile.c 4. 运行程序:编译成功后,可以运行生成的可执行文件。在终端中运行可执行文件的命令为:./outputfile(outputfile为生成的可执行文件名)。 5. 调试和测试:如果程序遇到错误或不按预期运行,可以使用调试器来调试并解决问题。常见的C调试器有GDB和LLDB等。 6. 优化和改进:在运行程序时,可能发现一些改进的机会。可以通过使用更有效的算法、优化代码结构和使用高级编程技巧来提高程序的性能和可读性。 总结来说,使用C语言编写程序是一个多步骤的过程,包括安装编译器、编写代码、编译程序、运行程序、调试和测试以及优化和改进。熟练掌握C语言的基本语法和编程技巧,可以开发各种应用程序和系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值