linux上运行VScode的cout,Linux中使用VSCode编译调试C++项目详解.pdf

Linux 中中使使用用VS Code编编译译调调试试C++项项目目详详解解

前前言言

关于VS Code在Linux下的安装这里就不提了,不管是CentOS还是Ubuntu,如 不懂且搜问题足够的情况下,你会解决的。

一一、、前前置置知知识识――gcc/g++的的编编译译链链接接过过程程

在Windows下,如 你用V isual Studio进行开发,C/C++的编译器一般采用微软提供的MSBuild ;在Linux下C/C++的编译器大多

采用gcc/g++。既然要在Linux下进行C++开发,很有必要了解一下g++编译器的一些基本知识。

假设我现在有一个最简单的C++文件:

#include

using namespace std;

int main() {

cout << "Hello, world!!!!" << endl;

return 0;

}

接下来如何编译呢?简单来说分成两步:先编译,再链接

1. 安安装装g++编编译译器器

启动终端,进入root模式,安装gcc和g++

Ubuntu:

CentOS:

[ @ ~]$ su

[ @ ~]# yum install gcc

[ @ ~]# gcc --version

[ @ ~]# yum install gcc-g++

[ @ ~]# g++ --version

2. 编编译译hello.cpp

[ @ ~]$ g++ -c hello.cpp

输出结 是一个hello.o文件,这是编译过程的生成的中间文件。c 表示只编译,不链接。

3. 链链接接hello.o生生成成hello.out

[ @ ~]$ g++ -o hello.out hello.o

输出结 是一个hello.out文件,这是最终的可执行文件。o 表示输出文件,hello.o是上一步生成的.o文件。

当然,如 第2、3步是可以合并执行,直接执行命令

[ @ ~]$ g++ -o hello.out hello.cpp

然而第2、3步分开执行是有意义的,后面会讲到。

4. 运运行行hello.out

最后执行以下hello.out验证一下输出结 呗

[ @ ~]$ ./hello.out

二二、、构构建建项项目目

实际开发过程中当然不可能只有一个cpp这么简单,有时候会有非常多的.h和.cpp文件相互配合,那么上面直接通过g++编译可

执行文件就没那么简单了。我们需要借助Make这个强大的项目构建工具,帮助我们构建和组织项目代码。

假设现在有如下3个文件:hw2.cpp、solution.h和solution.cpp

/* solution.h */

class Solution {

public:

void Say();

};

/* solution.cpp */

#include

#include "solution.h"

void Solution::Say(){

std::cout << "HI!" << std::endl;

}

/* hw2.cpp */

#include "solution.h"

int main () {

Solution sln;

sln.Say();

return 0;

}

可以看到这个简单例子包括头文件引用、定义和实现分离等情况,如 直接g++ o hw2.out hw2.cpp将会报未定义引用的错误

[ @ ~]$ g++ -o hw2.out hw2.cpp

/tmp/ccIMYTxf.o :在函数‘main'中:

hw2.cpp:(.text+0x 10):对‘Solution::Say()'未定义的引用

collect2: 错误:ld 返回 1

这这时时Make就就该该大大显显身身手手了了。。

首先

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值