VSCode下便捷编译运行C++代码——Code Runner配置及说明

2023-05-16

本文将描述如何使用VScode及其插件方便快速编译运行C++代码

下面举例均以C++为例,其他语言不再赘述

  1. 安装VSCode,官方地址

  2. 配置好你的编译器路径,确保可以

    如何验证,在命令行输入,若有相关信息输出则说明已配置成功

    g++ -v
  3. 安装VSCode的插件Code Runner

  4. 修改Code Runner的一些设置以方便能够在命令行中使用

     "code-runner.runInTerminal": true,
     "code-runner.ignoreSelection": true,
  5. 修改Code Runner对编译的设置,以C++为例

    修改code-runner.executorMap选项,由于比较冗长,在此处仅截取针对c++部分

    "code-runner.executorMap": {     
        ...    
            "cpp": "g++ $fileName  -o $fileNameWithoutExt.exe && ./$fileNameWithoutExt.exe"
        ...
        },
  6. 编写代码并使用Code Runner

    • 编写完代码,右键-Run Code 或者按Ctrl+Alt+N
  7. 改进

    在第5项中,我们很容易看出这样的话仅针对于单个文件,不具备一定强度的普适性,比如你使用了多个文件,那就要回过头修改Code Runner的配置,显而易见这种方法比较繁琐;并且多个文件编译的话,写在一行也是极难控制的.

    如何改进呢?

    我采用的方法是使用Makefile,而在Code Runner的配置中,只要使用make就可以编译,比起总要修改Code Runner的配置总要来的好,当然缺点也是有的,就是你要指定要运行的文件名,这一点的话对于我本人来说一般也都是固定用main.exe,倒也无妨;以及你得学会Makefile的使用方法,花一两个小时学习下或者使用我下面提供的万能模板倒也可以

  8. 其他

    • 万能Makefile模板

    注:使用makefile之前,需安装好make

    
    #source file
    
    
    #源文件,自动找所有.c和.cpp文件,并将目标定义为同名.o文件
    
    SOURCE  := $(wildcard *.c) $(wildcard *.cpp)
    OBJS    := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCE)))
    
    
    #target you can change test to what you want
    
    
    #目标文件名,输入任意你想要的执行文件名
    
    TARGET  := main
    
    
    #compile and lib parameter
    
    
    #编译参数
    
    CC      := g++
    LIBS    :=
    LDFLAGS :=
    DEFINES :=
    INCLUDE := -I.
    CFLAGS  := -g -Wall -std=c++11 -O3 $(DEFINES) $(INCLUDE)
    CXXFLAGS:= $(CFLAGS) -DHAVE_CONFIG_H
    
    
    
    #i think you should do anything here
    
    
    #下面的基本上不需要做任何改动了
    
    .PHONY : everything objs clean veryclean rebuild
    
    everything : $(TARGET)
    
    all : $(TARGET)
    
    objs : $(OBJS)
    
    rebuild: veryclean everything
    
    clean :
        rm -fr *.so
        rm -fr *.o
    
    veryclean : clean
        rm -fr $(TARGET)
    
    $(TARGET) : $(OBJS)
        $(CC) $(CXXFLAGS) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)
    • Code Runner的配置
    "code-runner.executorMap": {
        ...
        "cpp": "make && ./main.exe",
        ...
    }

祝使用愉快~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VSCode下便捷编译运行C++代码——Code Runner配置及说明 的相关文章

  • APM中电机输出分析

    一 APM类分析 老规矩 xff0c 先上类图 xff08 1 xff09 如图 xff08 1 xff09 所示 xff0c AP Motors是大部分电机类的父类 xff0c 是AC AttitudeControl姿态控制类的保护型成员
  • 解决安装ROS时出现的sudo rosdep init错误问题

    解决安装ROS时出现的sudo rosdep init错误问题 目前安装ROS时输入sudo rosdep init的命令时 xff0c 可能会出现以下的错误 xff1a ERROR cannot download default sour
  • JS实现HTTP请求头-Basic Authorization

    HTTP协议中的 Authorization 请求消息头含有服务器用于验证用户代理身份的凭证 xff0c 通常会在服务器返回401 Unauthorized 状态码以及WWW Authenticate 消息头之后在后续请求中发送此消息头 A
  • C语言Post和Get方法 ,拿过去直接用

    C语言post 和get 方法的实现 我自己实现的post 和get 请求方法 xff0c 可以直接使用在单片机上 xff0c 比如ESP32 上 xff0c OPl1000 上面 xff0c 下面直接上代码 span class toke
  • QT中图表类QChart系列之(1)-基本用法,画折线图、各个类之间的关系

    参考 xff1a https www cnblogs com yunhaisoft p 5180127 html 首先要注意3点 xff1a xff08 1 xff09 在 pro文件中添加 xff1a QT 43 61 charts xf
  • STM32使用FIFO实现USART串口发送中断

    fifo就不要造轮子了 xff0c 用现成的就行了 linux内核中有目前人类写出的基于c语言的最强FIFO xff0c 请自行搜索学习 巧夺天工的kfifo xff0c kfifo精妙无比 xff0c 实在是高 xff0c 其中用到的环回
  • c++的json读取操作

    使用的开源库是nlohmann json 后续操作也都是基于该开源库操作 本地json文件如下 xff1a 34 model config 34 34 model type 34 34 paddlex 34 34 model cfg fil
  • 三维重建了解

    一 三维重建方法 1 1 传统方法 RGBD D来源结构光或者TOF xff1a 缺点 xff0c 重建范围受限 xff0c 一般不能重建大模型 xff1b 比如 xff0c kinectFusion xff0c DynamicFusion
  • docker容器常用命令

    一 常用命令 显示本地镜像 xff1a docker images 显示已经启动的容器 xff1a docker ps a 从docker hub拉取镜像 reed98 airsim v0是镜像名 xff1a docker pull ree
  • ARM学习随笔(12)定时器查询方式和中断方式

    定时器详细讲解 百度文库 点击打开链接 xff08 一 xff09 查询方式和中断方式的区别在于 xff1a 查询方式不断查询标志位然后进行处理 xff0c 而中断要编写中断服务子程序来处理中断事件 xff08 二 xff09 内部中断是指
  • vgg16网络裁剪并加载模型参数

    主要是测试下模型裁剪后转onnx的问题 删除vgg16网络全连接层 xff0c 加载预训练模型并重新保存模型参数 xff0c 将该参数用于转onnx模型格式 usr bin env python coding utf 8 64 Time 2
  • pth转onnx的三种情况

    usr bin env python coding utf 8 64 Time 2022 8 3 16 19 64 Author weiz 64 ProjectName cbir 64 File pth2onnx py 64 Descrip
  • 以vgg为backbone的简易图像检索系统

    图像检索 xff08 Content based Image Retrieval xff0c 简称CBIR xff09 即以图搜图 xff0c 基于图片语义信息 xff0c 诸如颜色 纹理 布局 CNN based高层语义等特征检索技术 该
  • img2pose: Face Alignment and Detection via 6DoF, Face Pose Estimation代码理解

    import argparse import os import sys import time import numpy as np from PIL import Image ImageOps from torchvision impo
  • 解决普通用户使用sudo找不到命令

    sudo bazel build c opt define MEDIAPIPE DISABLE GPU 61 1 mediapipe examples desktop face mesh face mesh cpu 出现 xff1a sud
  • sfm算法之三角化(三角测量)

    sfm算法流程一般是特征点提取 特征点匹配 计算本质矩阵 基础矩阵 xff0c 最后三角化 但是利用机械臂去观察周围 xff0c 前后帧姿态变化参数是具有的 xff0c 所以不需要通过基础矩阵获取 即利用机械臂的信息直接进行深度估计 已知
  • bazel构建项目案例(第三方库,编译成库,运行案例)

    使用bazel构建项目 xff0c 包含如何引入外部库 xff08 项目中引入了opencv和编译的tensorflow lite库 xff09 xff0c 如何编译成动态库和静态库 xff0c 以及如何调用编译好的库 项目根目录的所有文件
  • 各种小功能集二

    各种小功能集一 十一 C C 43 43 路径解析 头文件 std string UtilsGetPath const char pszFilename std string UtilsGetDirname const char pszFi
  • windows10配置paddleOCR的CPU版本总结

    paddleOCR的CPU版本依赖的库还是比较少的 如下 1 opencv库 本人配置的版本是opencv4 5 0 2 paddle inference 推理库 该库解压后有version txt文件 xff0c 版本信息如下 xff1a
  • 传统图像技术的边缘提取

    usr bin env python coding utf 8 import cv2 import os import numpy as np def laplacian img ksize 61 3 laplacian 61 cv2 La

随机推荐