• Linux下配置C语言编程环境


    1. 安装vscode及其环境

    Linux与C语言紧密相关,在Linux下写C代码更是一种享受。工欲善其事,必先利其器,舒适的开发环境非常重要。Linux下有编译器gcc和调试器gdb,还有编辑器vim。但vim的使用颇有难度,我们选择更加用户友好的VS Code进行编程,并使用扩展搭建一个完整的编程环境。

    1.1 Debian类系统

    Debian及其分支系统,如果要安装vscode,非常容易,仅仅需要几行代码。

    1. sudo apt update
    2. sudo apt install software-properties-common apt-transport-https curl
    3. curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    4. sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
    5. sudo apt update
    6. sudo apt install code

    下面是配置c语言环境

    1. sudo apt-get update
    2. sudo apt-get install gcc
    3. sudo apt-get install g++
    4. sudo apt-get install gdb

    1.2 redHat/Fedora/CentOS

    1. sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    2. sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=ht tps://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
    3. dnf check-update
    4. sudo dnf install code

    下面是配置c语言环境

    1. su root
    2. yum install cpp
    3. yum install binutils
    4. yum install glibc
    5. yum install glibc-kernheaders
    6. yum install glibc-common
    7. yum install glibc-devel
    8. yum install gcc
    9. yum install make
    10. yum install kernel
    11. yum install kernel-level

    1.3 Arch类系统

    Arch Linux需要先开启AUR仓库来进行安装。首先要编辑 /etc/pacman.conf 里面的内容,在最下面添加如下代码

    1. [archlinuxcn]
    2. SigLevel = Never
    3. Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch

    然后进行系统更新和安装操作

    1. sudo pacman -Syyu
    2. sudo pacman -S yay
    3. yay -S visual-studio-code-bin

    下面是配置c语言环境

    sudo pacman -S gcc glibc

    2.配置vscode

    2.1 下载对应的插件

    既然要配置vscode,我们必须要下载相应的插件才可以编写代码

    1. 1.C++ Intellisense #语法静态检测
    2. 2.C/C++ #函数与头文件的跳转需要这个插件的支持
    3. 3.Code Runner #可以直接运行单个cpp文件
    4. 4.C/C++ GNU Global #使用GNU Global为C/C++提供智能感知
    5. 5.Chinese (Simplified) Language Pack for Visual Studio Code #汉化包

    安装完成这些插件之后,你需要重启你的电脑。

    2.2 配置文件

    vscode需要自己配置,下面就说一下配置文件怎么写。首先vscode在c语言环境需要配置3个文件。

    1. tasks.json:构建可执行文件,即编译
    2. launch.json:启动调试程序
    3. settings.json:针对当前工作空间的VS Code设置

    那么这些文件怎么使用?下面就来交给大家。

    首先你需要创建一个文件夹 ,然后用vscode打开它。你需要新建3个json文件,他们分别是

    1. 1.tasks.json
    2. 2.launch.json
    3. 3.settings.json

    首先是tasks.json里面的内容

    1. {
    2. "version": "2.0.0",
    3. "tasks": [
    4. {
    5. "type": "shell",
    6. "label": "C/C++: gcc build active file",
    7. "command": "/usr/bin/gcc",
    8. "args": [
    9. "-g",
    10. "${file}",
    11. "-o",
    12. "${fileDirname}/${fileBasenameNoExtension}"
    13. ],
    14. "options": {
    15. "cwd": "${workspaceFolder}"
    16. },
    17. "problemMatcher": [
    18. "$gcc"
    19. ],
    20. "group": {
    21. "kind": "build",
    22. "isDefault": true
    23. }
    24. }
    25. ]
    26. }
    version:配置文件格式的版本号,多年不变,无需关心
    type:可选’process’或’shell’,决定构建任务作为单独进程还是一条shell命令启动。如果为’shell’,则可以可以使用Linux的shell扩展
    label:构建任务的名字,也是任务标识
    command:构建任务使用的命令,即调用编译器的命令,如’gcc’
    args:传递给command的参数,即gcc的选项
    -g:包含调试信息,用于gdb调试
    {file}:需要编译的文件,此处表示当前文件 -o:指定可执行文件的路径和名字,即后面的'file:需要编译的文件,此处表示当前文件−o:指定可执行文件的路径和名字,即后面的′{fileDirname}/${fileBasenameNoExtension}'参数
    cwd:构建命令执行时的工作目录,和相对位置的查找与文件生成有关
    problemMatcher:使用正则表达式检查源文件的错误,配置语法比较复杂,一般也用不到。如不需要可以删掉这条配置
    isDefault:是否作为默认构建配置
    默认生成的配置文件已经可以进行编译了,我们只需要根据个人喜好修改某些参数的值,达到想要的效果。

    下面是launch.json里面的内容

    1. {
    2. // Use IntelliSense to learn about possible attributes.
    3. // Hover to view descriptions of existing attributes.
    4. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    5. "version": "0.2.0",
    6. "configurations": [
    7. {
    8. "name": "gcc - Build and debug active file",
    9. "type": "cppdbg",
    10. "request": "launch",
    11. "program": "${fileDirname}/${fileBasenameNoExtension}",
    12. "args": [],
    13. "stopAtEntry": false,
    14. "cwd": "${workspaceFolder}",
    15. "environment": [],
    16. "externalConsole": false,
    17. "MIMode": "gdb",
    18. "setupCommands": [
    19. {
    20. "description": "Enable pretty-printing for gdb",
    21. "text": "-enable-pretty-printing",
    22. "ignoreFailures": true
    23. }
    24. ],
    25. "preLaunchTask": "C/C++: gcc build active file",
    26. "miDebuggerPath": "/usr/bin/gdb"
    27. }
    28. ]
    29. }
    version:配置文件格式的版本号,无需关心
    name:调试任务的名称,如果有多个调试任务,可以用于标识
    type:调试类型,只能填’cppdbg’
    request:可选’launch’或’attach’,决定调试的程序作为独立进程还是附加到其他进程启动
    program:目标程序,与’tasks.json’中输出的程序对应
    args:传递给目标程序的参数
    stopAtEntry:是否在入口处停止,相当于在’main’函数第一行加了个断点,一般选’false’
    cwd:目标程序的工作目录,与相对位置文件的读写有关
    environment:传递给目标程序的环境变量
    externalConsole:是否使用外部控制台,如果为’true’,则弹出一个新窗口运行目标程序,并在程序结束后立刻关闭
    MIMode:调试器,可选’gdb’或’lldb’,本例中选择’gdb’
    setupCommands:gdb的设置命令,无需改动,无需关心
    preLaunchTask:在调试前预先进行的任务,通过名字标识,这里填在’tasks.json’中配置好的构建任务
    miDebuggerPath:调试器的路径,如果没有设置,则在环境变量里寻找MIMode设置的程序

    最后是settings.json里面的内容(注意,这个配置文件请根据个人喜好进行调整!!!)

    1. {
    2. "files.associations": {
    3. "tidl_alg_int.h": "c",
    4. "limits": "c"
    5. }
    6. }
    这个配置文件可以根据自身去进行调整,并不是一定要这样配置!

    4.写在最后


    本文仅介绍C编程环境的配置,对于C++请自行探索。
    gcc默认链接标准C库’libc’,但不链接其他库,如果要使用数学库’libm’,除了需要在源文件里#include ,还需要在编译选项里加入’-lm’
    如果了解一些gcc参数,可以在’task’的shell里得到很多有用的信息。

  • 相关阅读:
    【k8s】Kubernetes 原理剖析与实战应用(更新中)
    LeetCode_滑动窗口_中等_395.至少有 K 个重复字符的最长子串
    TIM(4)Encoder_interface
    PicoLog软件应用-电动车能耗记录
    Flume(二)
    实用工具推荐--GIF动图裁剪工具IIMG(免注册且免费)
    JS Funtions 中的记忆化(memoization)
    MySQl(八):索引机制
    R语言混合效应(多水平/层次/嵌套)模型及贝叶斯实现技术
    OJ项目——最核心业务->用户刷题,手把手教会你【SpringMVC+MyBatis】
  • 原文地址:https://blog.csdn.net/m0_72572822/article/details/127115486