zoukankan      html  css  js  c++  java
  • vs code进行c/c++开发

     vs code是微软公司开发的跨平台编辑器,丰富的插件功能可以满足各种编程语言的编码,编译和调试。由于vs code本身只是一个编辑器,所以你需要准备编译工具链。本文针对的是windows系统,我这里使用mingw-w64作为编译工具链。

    1.下载安装mingw-w64,并且把mingw-w64的bin目录加入环境变量,安装mingw-64的教程很多,不再复述。比如我添加的环境变量是:C:Program Filesmingw-w64x86_64-7.3.0mingw64in

    2.在微软的官方网站上下载安装vs code,目前最新版本是v.1.22.2 (2018/4/21)

    3.打开vs code,在左边的扩展商店里面搜索c++,安装微软官方的插件,重启vs code或者点击旁边的"重新加载"生效

    4.在磁盘上新建一个文件夹"HelloWorld",vs code打开这个文件夹,新建main.cpp

    #include <iostream>
    using namespace std;
    
    int main()
    {
        cout << "hello world" << endl;
        for(int i = 0;i < 100;i++)
        {
            cout << i << endl;
        }
    
        return 0;
    }

    然后你会发现 #include <iostream> 这一行下面有一条波浪线,提示你没有找到iostream这个文件,所以不能包含,把鼠标移动到这一行会出现一个黄色的小灯泡,点击小灯泡Edit includepath setting

    定位到win32的位置,编辑includePath,把你的头文件路径添加上就可以了。

     

    如果你不清楚头文件路径,可以使用命令打印头文件的路径:

    gcc -v -E -x c++ -

    添加好了后是这样子的:

    现在#include <iostream>就能够正常被包含了。

    5.编译 :使用快捷键ctrl + shift +b编译main.cpp,由于是第一次编译,会提示你配置生成任务:

    {
        // 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",    //表示在生成的可执行文件中加入调试信息,如果你要调试程序,-g参数必不可少
                    "main.cpp"
                ],
                "presentation": {
                    "reveal": "never"
                },
                "problemMatcher": [
                    "$gcc"
                ]
            }
        ]
    }

    再次使用快捷键ctrl + shift +b就可以编译main.cpp了,编译完成可以看到生成了a.exe文件,这是编译生成的默认文件名称,想要自定义文件名可以使用 -o 参数。

    6.调试:a.exe文件生成后,点击左边的调试按钮:

    显示没有配置,点击可以添加配置,修改完成后记得保存:

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

    再次点击调试按钮可以看到程序在我设置断点的地方停了下来,这样我们就可以调试自己的程序了。布局的左边会显示变量的值,堆栈信息和线程信息。

    通过上面的配置已经能够满足基本的要求了,但是现在需要先编译再调试,分两个步骤比较麻烦,接下来就把编译调试一气呵成。

    首先点击vs code的调试按钮,再点击设置按钮,修改调试的配置文件

     

    {
        // 使用 IntelliSense 了解相关属性。 
        // 悬停以查看现有属性的描述。
        // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
    
            {
                "name": "gdb c++",
                "type": "cppdbg",
                "request": "launch",
                "program": "${workspaceFolder}/a.exe",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceFolder}",
                "environment": [],
                "externalConsole": true,
                "MIMode": "gdb",
                "miDebuggerPath": "C:/Program Files/mingw-w64/x86_64-7.3.0/mingw64/bin/gdb.exe",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ],
                "preLaunchTask": "build"
            }
        ]
    }

    注意到我们只添加了以下内容,表示在调试之前启动任务 "build", 这个任务名字是上面编译阶段新增的任务名称。二者必须需要保持一致

    , "preLaunchTask": "build"

    保存修改后,我们只需要直接点击调试按钮就可以调试代码了,因为系统自动为我们在调试之前编译过了。

  • 相关阅读:
    Visual Studio DSL 入门 11为状态机设计器添加规则
    不平静的2009,期待更不平静的2010
    ASP.NET MVC 2 正式发布
    [翻译] DSL和模型驱动开发的最佳实践(2/4)
    Visual Studio DSL 入门 9创建状态机的图形符号
    Visual Studio DSL 入门 6DSL的图形表示1
    智诚B2C1.31正式发
    一个程序员的创业尝试
    Visual Studio DSL 入门 13结合T4生成代码
    Visual Studio DSL 入门 10完善状态机案例
  • 原文地址:https://www.cnblogs.com/tsfh/p/8900700.html
Copyright © 2011-2022 走看看