• VSCode、VBox搭建C/C++开发环境


    好几年没有写过C/C++代码,基本上都忘光了,之前是使用VC++6.0写代码的,最近用VSCode成功搭建了C/C++开发环境,这里记录一下搭建过程。

    1. 安装VSCode

    在官网https://code.visualstudio.com/#alt-downloads下载安装包安装即可。

    2. 安装VSCode插件

    这里根据自己的需要安装了以下插件:

    1. C/C++
    2. Chinese (Simplified) Language Pack for Visual Studio Code
    

    3. 安装VirtualBox

    VirtualBox 是一个虚拟机软件,可以通过https://www.virtualbox.org/wiki/Downloads这里进行下载安装。

    4. 安装Ubuntu系统

    在VirtualBox新建一个虚拟机,分别填写如下信息。

    名称: ubuntu64    #虚拟机名称
    文件夹: E:VboxVm #虚拟机的存储路径
    类型: Linux
    版本: ubuntu(64-bit)
    

    分配内存: 2048 MB
    下一步
    下一步
    磁盘大小: 60GB

    创建虚拟机后,选中虚拟机,设置

    系统: 
    1. 启动顺序去掉软驱
    2. 处理器2
    存储:
    控制器-盘片-分配光驱(选择下载准备好的ubuntu-18.04.4-desktop-amd64.iso)
    网络:
    网卡1,选择桥接网卡
    共享文件夹:
    共享文件夹路径(H:Vboxmnt)
    共享文件夹名称(mnt)
    自动挂载
    固定分配
    挂载点(不填)
    

    启动虚拟机。
    启动虚拟机后,在菜单栏中,选择“设备”->“安装增强功能” ,如果没有启动安装,则双击桌面上的光盘进行安装。
    安装完成后重启虚拟机

    sudo reboot
    

    在菜单栏中,选择“视图”->“虚拟机显示屏1” 选择合适的分配率。
    然后在终端中执行以下命令,解决vbox共享文件夹非root用户无权限访问的问题。

    sudo usermod -aG vboxsf $(whoami)
    

    在Ubuntu中安装VSCode,安装相应的插件(这一步跟windows环境是一样的)。

    5. 创建项目

    在Windows系统中的共享目录(即H:Vboxmnt)创建一个helloworld项目,然后用VSCode以打开文件夹的方式,打开helloworld项目。
    打开项目后,需要配置C/C++相关的编译器等信息。
    使用Ctrl + ~打开命令行终端:

    mkdir .vscode # 创建.vscode目录,注意前面有个点
    

    在.vscode目录下面分别创建launch.jsontasks.json

    launch.json

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

    tasks.json

    {
        // See https://go.microsoft.com/fwlink/?LinkId=733558
        // for the documentation about the tasks.json format
        "version": "2.0.0",
        "tasks": [
            {
                "label": "build",
                "type": "shell",
                "command": "g++",
                "args": ["-g", "${workspaceFolder}/*.cpp", "-std=c++11", "-o", "main"]
            }
        ]
    }
    

    在helloworld目录下创建main.cpp,并编写如下代码

    #include <iostream>
    
    int main(int argc, char* argv[]) {
      std::cout << "Hello world!" << std::endl;
      return 0;
    }
    

    最终的目录结构如下:

    -helloworld
    ---.vscode
    ------launch.json
    ------tasks.json
    ---main.cpp
    

    6. 调试代码

    由于上面的helloworld代码是在共享目录中,所以这里代码会实时共享到ubuntu虚拟机中。
    在ubuntu虚拟机中,打开VSCode,打开共享目录中的helloworld项目,打开调试界面(Ctrl + Shift + D),点击调试即可。
    这样就可以在代码中打断点和调试代码了。

    vscode

    这里之所以在ubuntu中调试代码,是因为在Windows安装C/C++的编译器实在太麻烦了。
    但是在虚拟机中编写代码又不方便,所以想到了这个方法,在Windows平台编写代码,在Ubuntu平台编译调试代码。

    HiIT青年
    关注公众号,一起学习,一起进步。

  • 相关阅读:
    创建Django项目
    CVE-2011-0104:Microsoft Office Excel 栈溢出漏洞修复分析
    HDU 1089 到1096 a+b的输入输出练习
    ocrosoft 程序设计提高期末复习问题M 递归求猴子吃桃
    HDU 1406 完数
    ocrosoft 1015 习题1.22 求一元二次方程a*x^2 + b*x + c = 0的根
    php-amqplib库操作RabbitMQ
    rabbitmq 使用PhpAmqpLib
    RabbitMQ的持久化
    Rabbitmq各方法的作用详解
  • 原文地址:https://www.cnblogs.com/itqn/p/c_cpp_vscode.html
Copyright © 2020-2023  润新知