在linux下使用vscode编写c语言

  • 前言
  • 一、下载vs code
  • 二、c语言插件
  • 1.汉化 (Chinese Simplified)
  • 2.c语言插件(c/c++)
  • 3.编译运行插件(Code runnner)
  • 三.配置c语言环境
  • 四.完成一个简单的程序
  • 五.调用math.h函数遇到的问题
  • 问题描述
  • 原因分析
  • 解决方案



前言

`初次在linux下使用vs code编写c语言,遇到很多问题,在这里总结一些解决方法分享给大家,希望对后来者有所帮助。笔者水平有限,如有错误,还请斧正!

提示:笔者使用的是centos7.6,虚拟机安装可参考视频《2021韩顺平 一周学会Linux》centos7.6 阿里云盘链接 提取码: mm87


一、下载vs code

参考链接: vs code安装方法 安装方式二亲测有效!!!
提示:centos7.6装1.51版本并且不要更新vs code!!!否则会出现很多问题!!!所以说为什么要选择centos7.6 ,真的累。
1.51版本链接

重启,点击应用程序-编程-vs code:

vscode 调试linux python linux vscode调试c语言_linux


初始界面如下:

vscode 调试linux python linux vscode调试c语言_linux_02

二、c语言插件

1.汉化 (Chinese Simplified)

  • 点击extensions(打开扩展)
    快捷键:ctrl+shift+x
  • 输入chinese,点击中文简体,点击install
  • 重启 vs code

2.c语言插件(c/c++)

与汉化步骤相同,在应用扩展商店输入c,点击安装即可,上图:

vscode 调试linux python linux vscode调试c语言_linux_03

3.编译运行插件(Code runnner)

上图:

vscode 调试linux python linux vscode调试c语言_linux_04


全部安装完毕,重启vscode,避免出现其他问题。如有其他插件推荐,欢迎留言评论。

三.配置c语言环境

在vs code 中,依次点击 文件——打开文件夹——找到刚才新建的文件夹,笔者把新建的文件夹命名为helloworld。

vscode 调试linux python linux vscode调试c语言_json_05

右击——新建文件夹,命名为.vscode
前面的这个 . 不要丢掉!

vscode 调试linux python linux vscode调试c语言_centos_06

在.vscode文件夹下新建两个文件,分别为

  • launch.json
  • task.json

将下面的代码复制保存到对应的json文件里。

  • launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C/C++",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "preLaunchTask": "compile",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}
  • tasks.json
{
    "version": "2.0.0",
    "tasks": [{
            "label": "compile",
            "command": "gcc",
            "args": [
                "-g",
                "${file}",
                "-lm",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            },
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

到此,c语言环境配置完成。

四.完成一个简单的程序

代码如下:

#include<stdio.h>
int main(void){
    printf("hello,world!\n");
    return 0;
}

点击右上角朝右指向的小三角形即可。

运行结果:

vscode 调试linux python linux vscode调试c语言_linux_07


如果想在终端上运行该程序:

vscode 调试linux python linux vscode调试c语言_centos_08

五.调用math.h函数遇到的问题

问题描述

调用sqrt函数,却出现了问题
代码如下:

#include<stdio.h>
#include<math.h>
int main(void){
    double x=25;
    double y;
    y=sqrt(x);
    printf("y  is %f\n",y);
    return 0;
}

错误原因如下:

vscode 调试linux python linux vscode调试c语言_linux_09

原因分析

原因:缺少某个库,用 -l 参数将库加入。Linux的库命名是一致的, 一般为 libxxx.so, 或 libxxx.a, libxxx.la, 要链接某个库就用 -lxxx,去掉头 lib 及 “.” 后面的 so, la, a 等即可。

常见的库链接方法为:数学库 -lm; posix 线程 -lpthread

gcc编译时对’xxxx’未定义的引用问题

在使用gcc编译的时候有时候会碰到这样的问题,编译为.o(obj) 文件没有问题,但是编译(这一步应该是链接)为可执行文件的时候会出现找不到’xxx’的定义的情况。

解决方案

  • 终端解决方案
gcc -lm helloworld.c

vscode 调试linux python linux vscode调试c语言_linux_10

  • vs code 解决方案
  • 点击设置
    快捷键 ctrl+,

vscode 调试linux python linux vscode调试c语言_c语言_11




-lm

vscode 调试linux python linux vscode调试c语言_linux_12


运行结果:

vscode 调试linux python linux vscode调试c语言_json_13