• VSCode编写C/C++项目


    VSCode编写C/C++项目

    1. 下载插件C/C++、C++ Intellisense;
    2. 新建一个空文件夹,从VSCode打开。 (或File-->Open Folder-->新建一个空文件jia);
    3. 按F5(用命令行gcc、g++;或者编写makefile文件,make;),选择C++(GDB/LLDB),生成launch.json(用来调试);
    5. 修改launch.json,将"program": "enter program name, for example ${workspaceFolder}/a.out"改为"program": "${workspaceFolder}/ProjectName";
    "externalConsole": true,表示输出会在弹出的命令行。修改为false的化,会在VSCode内部terminal输出。
    6. Ctrl+Shift+B, 选择tasks.json-->模板--->other,生成tasks.json(创建任务);
    7. 修改 tasks.json, "command": "echo Hello"改成"command": "g++ -o ProjectName ProjectName.cpp",这里的ProjectName和5中的ProjectName同名
    8. 对于复杂的项目,"command": "echo Hello"改成"command": "make"
    9. 再创建makefile文件,编辑;
    10. 编写Hello.cpp文件
    11. 按Ctrl+Shift+P, 选择 Task:Run Tasks,执行任务
    12. 按F5,执行

    源代码如下所示:

    Hello.cpp

    #include <iostream>
    using namespace std;
    int main()
    {
        cout << "Hello, world!" << endl;
        return 0;
    }

    launch.json

    {
        // Use IntelliSense to learn about possible attributes.
        // Hover to view descriptions of existing attributes.
        // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "name": "(gdb) Launch",
                "type": "cppdbg",
                "request": "launch",
                "program": "${workspaceFolder}/Hello",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceFolder}",
                "environment": [],
                "externalConsole": true,
                "MIMode": "gdb",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ]
            }
        ]
    }

    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": "make"
            }
        ]
    }

    makefile或Makefile

    # objects= main.o kbd.o command.o display.o insert.osearch.o files.o utils.o 
    
    # edit: $(objects)
    
    #     cc-o edit $(objects)
    
    # main.o: main.c defs.h
    
    #     cc-c main.c
    
    # kbd.o: kbd.c defs.h command.h
    
    #     cc-c kbd.c
    
    # command.o: command.c defs.h command.h
    
    #     cc-c command.c
    
    # display.o: display.c defs.h buffer.h
    
    #     cc-c display.c
    
    # insert.o: insert.c defs.h buffer.h
    
    #     cc-c insert.c
    
    # search.o: search.c defs.h buffer.h
    
    #     cc-c search.c
    
    # files.o: files.c defs.h buffer.h command.h
    
    #     cc-c files.c
    
    # utils.o: utils.c defs.h
    
    #     cc-c utils.c
    
    # clean:
    
    #     rmedit $(objects)
    
    edit: Hello.o
    
        cc-o edit $(objects)
    
    Hello.o: Hello.c
    
        cc-c Hello.c
    
    clean:
    
        rmedit Hello.o
  • 相关阅读:
    静态内部类与非静态内部类之间的访问
    面向对象蚂蚁爬杆的问题
    关于Clone 的方法使用
    关于谁来参加会议这个题目的卫条件
    String类的基本用法与注意点,StringBuffer类的用法
    Smarty模板Windows下写代码 放到CentOS6.5无法正确解析
    [转]Linux(centOS6.5)下SVN的安装、配置及开机启动
    [转]Centos6.5使用yum安装mysql—配置MySQL允许远程登录
    [转]-bash: wget: command not found的两种解决方法
    [转]VMware 出现下述错误: Application failure. hr=0x80040101:Failed to initialize virtual machine.
  • 原文地址:https://www.cnblogs.com/zhangchao0515/p/10980072.html
Copyright © 2020-2023  润新知