linux 下的vscode怎么编译cpp

linux 下的vscode怎么编译cpp,第1张

vscode配置C/C++的编译调试环境安装debug插件,然后配置如下,//launch.json{"version":"0.2.0","configurations":[{"name":"Debug","type":"gdb","request":"launch","target":"${file}.o","cwd":"${workspaceRoot}","preLaunchTask":"gcc"}]}//tasks.json{"version":"0.1.0","command":"gcc","args":["-g","${file}","-o","${file}.o"],"problemMatcher":{"owner":"cpp","fileLocation":["relative","${workspaceRoot}"],"pattern":{"regexp":"^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$","file":1,"line":2,"column":3,"severity":4,"message":5}}}

用gcc编译

以下是例子

实例代码:

/*

* hello.c - Canonical "Hello, World!" program

*/

#include <stdio.h>

int main(void)

{

printf("Hello,Linux programming world!\n")

return 0

}

在命令行上键入以下命令编译和运行这段程序:

$gcc hello.c -o hello

$./hello

Hello, Linux programming world!

第一行命令告诉gcc对源代码hello.c进行编译和链接,并使用-o参数指定创建名为hello的可见程序.第二行命令执行hello这个程序,第三行是程序的执行结果.

其实,gcc首先运行预处理程序cpp来展开hello.c中的宏并在其中插入#include文件所包含的内容:然后把预处理后的源代码编译成为目标代码最后,链接程序ld创建一个名为hello的二进制文件.

现在我们来通过手工 *** 作重新创建这些步骤,以逐步执行编译过程.第一布是运行预处理器.使用-E选项告诉gcc在预处理后停止编译过程:

$gcc -E hello.c -o hello.cpp

此时查看hello.cpp会发现stdio.h的内容确实都插到文件里去了,而其他应当被预处理的标记也做了类似处理.

下一步是将hello.cpp编译为目标代码.可使用gcc的-c选项来完成:

$gcc -x cpp-output -c hello.cpp -o hello.o

-x选项告诉gcc从指定的步骤开始编译,在本例中也就是编译器处理后的源代码(cpp-output).

gcc是怎么知道如何处理某种特殊类型的文件呢?它是依靠文件的扩展名来决定如何正确处理该文件的.

——————————————————————————————

扩展名 类型

.cC语言源代码

.C,.cc C++语言源代码

.i预处理后的C源代码

.ii 预处理后的C++源代码

.S,.s 汇编语言源代码

.o编译后的目标代码

.a,.so 编译后的库代码

———————————————————————————————

最后,链接目标文件,生成二进制代码.

$gcc hello.c -o hello

1.编译命令gcc + [gcc参数] + 源代码.cpp =>生成: 源代码.o

2.直接命令行输入 源代码 就可以执行你编译的结果。

3.gcc参数请参考

其中 -g 是可以加入调试信息的。

4.跟踪代码工具:

emacs<可以搜索一相关使用,也比较简单>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8407978.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存