Ubuntu+Visual Studio Code - 编译C

Ubuntu+Visual Studio Code - 编译C

一、下载与安装

官方下载:https://code.visualstudio.com/
下载deb安装文件
安装命令:

sudo dpkg -i ./code_1.16.0-1504714880_amd64.deb

二、安装插件

安装以下C语插件:

  • C/C++
  • C/C++ Clang Command Adapter
  • C++ Intellisense

还可根据自己需要,安装其它插件
这里写图片描述

三、进行调试

以下采用CGIC中的HelloWorld为例

1.程序编写

新建一个文件夹,作为项目的根目录,把需要用到的cgic.c与cgic.h放到目录中。
在VS Code中打开:文件—>打开文件夹
在项目目录中添加C文件进行编写,程序代码:

#include<stdio.h>
#include "cgic.h"
#include <string.h>
#include <stdlib.h>
int cgiMain(){
    cgiHeaderContentType("text/html");
    fprintf(cgiOut, "<HTML><HEAD>\n");
    fprintf(cgiOut, "<TITLE>My First CGI</TITLE></HEAD>\n");
    fprintf(cgiOut, "<BODY><H1>Hello World</H1></BODY>\n");
    fprintf(cgiOut, "</HTML>\n");
    return 0;
}
2.任务配置

任务配置用作程序的编译,在项目目录中添加.vscode文件夹,再在.vscode文件夹中添加tasks.json文件,文件内容与作用如下:

{
    "version": "2.0.0",
    "tasks": [
        {
            "taskName": "Compile", // 任务名称,与launch.json的preLaunchTask相对应
            "command": "gcc", // 如果用MinGW,编译C用gcc,编译c++用g++
            "args": [
                "cgic.c",
                "HelloWorld.c",
                "-o", // 指定输出文件名,不加该参数则默认输出a.out
                "${workspaceRoot}/${fileBasenameNoExtension}.cgi",
                "-g", // 生成和调试有关的信息
                "-Og",
                "-Wall" // 开启额外警告
            ], // 编译命令参数
            "type": "shell",
            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", // 正则表达式,用于描述在“问题”栏中显示的信息。
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            } 
        }
    ]
}

可在任务—>运行任务中调用,开始编译生成程序

3.调试配置

在./vscode文件夹中添加launch.json文件,用作调试,内容与作用如下:

{
    "version": "0.2.0",
    "configurations": [

        {
            "name": "(gdb) Launch",// 配置名称,将会在启动配置的下拉菜单中显示
            "type": "cppdbg",// 配置类型,这里只能为cppdbg
            "request": "launch",// 请求配置类型,可以为launch(启动)或attach(附加)
            "program": "${workspaceRoot}/${fileBasenameNoExtension}.cgi",// 将要进行调试的程序的路径
            "args": [],// 程序调试时传递给程序的命令行参数,一般设为空即可
            "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,我一般设置为true
            "cwd": "${workspaceRoot}",// 调试程序时的工作目录
            "environment": [],// (环境变量?)
            "externalConsole": true,// 调试时是否显示控制台窗口,一般设置为true显示控制台
            "MIMode": "gdb",// 指定连接的调试器,可以为gdb或lldb。
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "Compile" // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的taskName相对应
        }
    ]
}
4.调试

在代码窗口左侧可以添加断点,点击调试—>启动调试可开始进行调试
这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值