Linux环境之下使用VS Code搭建C/C++开发环境

前言:前面的文章介绍了在Windows平台之下使用Ming-win64和MSVC搭建C/C++的开发环境,本文开始介绍在Linux平台之下如何搭建开发环境。可以参考前面两篇文章:

VSCode开发C、C++环境搭建系列(一)——基于Mingw-w64搭建

VSCode开发C、C++环境搭建系列(三)——基于MSVC搭建

一、基本的软件安装

gcc

g++

make

cmake

这四个是缺一不可的

本文介绍的是简单的只包含几个源文件的C开发,所以make和cmake暂时用不到。

另外关于编辑器vs code的使用和windows上面几乎每什么区别,这里不再赘述。

二、开发环境搭建关键的路径搜索

2.1 头文件的搜索

gcc 在编译时如何去寻找所需要的头文件:

(1)编译器指定的参数 -I 给出的头文件包含路径

2)然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH(分别对应C、C++、objective-C的头文件)

(3)GCC标准安装目录,系统标准include路径。安装GCC套件的时候可以通过--prefix参数手动指定安装位置。

默认的安装位置在:

gcc/x86_64-linux-gnu/7/

在这个文件夹之下包含了很多的头文件以及库文件

(4)内定目录,不需要自己额外声明以及添加的目录

/usr/include 及其下面的子目录
/usr/local/include  及其下面的子目录(centos7中该目录下是空的)

2.2 静态库文件

(1)gcc在编译的时候通过  -L参数  手动指定的搜索路径

(2)再找gcc的环境变量LIBRARY_PATH

(3)再找内定目录,这是这些安装GCC套件的时候所安装的那些目录

/lib和/lib64

/usr/lib 和/usr/lib64

/usr/local/lib和/usr/local/lib64

 

2.3 运行时动态库的搜索路径

动态库的搜索路径搜索的先后顺序是:

(1)编译目标代码时使用 -L参数 指定的动态库搜索路径;
(2)环境变量LD_LIBRARY_PATH指定的动态库搜索路径;
(3)配置文件/etc/ld.so.conf中指定的动态库搜索路径;
(4)再找内定目录,这是这些安装GCC套件的时候所安装的那些目录

/lib和/lib64

/usr/lib 和/usr/lib64

/usr/local/lib和/usr/local/lib64

三、基本配置与简单实验

3.1 配置c_cpp_properties.json 文件

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**"   //头文件以及库文件的搜索路径也可以添加进去
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc", //编译器路径
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}

3.2 配置生成任务的tasks.json文件

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "g++",
            "args":[
                "-g","test.cpp","-o","test.out" //其实就是编译,这里指定编译的参数
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

3.3 配置调试的launch.json文件

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/test.out",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

3.4 实验代码

#include <iostream>


int main(int argc, char const *argv[])
{
    for(int i=0;i<5;i++)
    {
        std::cout<<i<<std::endl;
    }

    std::cout<<"this is my first linux program!";
    getchar();
    return 0;
}
/*
0
1
2
3
4
this is my first linux program
*/

 

说明:上面仅仅是演示了简单的C文件的编译以及运行,如果对于一个比较大的工程文件,make和cmake工具是必不可少的,所以后面会针对这两个最难的点进行说明,vs code也可以和这些工具配合起来,做成一个比较强大的集成开发环境。

 

 

  • 2
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值