C的基石
开发工具
首先呢,我们要有开发工具,像Java嘛,现在一般用IDEA,不过我之前用的还是Eclipse,我前面还有学IDEA的流水账呢,不过后来就没什么机会用了。不过今天我们不说Java,我们聊一聊C。众所周知,C是编程入门必学的科目,曾几何时,本人也是学过的,不过当时行色匆匆,为了不挂科,浅略的学了一手,至今也已经好些年了。记得当时用的开发工具也蛮难用的,于是乎,在我咨询了一下朋朋友友之后,推荐使用VSCode,好,那么我们就搞一下开发环境。
第一步,那指定是下载嘛,网上资源还是蛮多的,挑一个自己喜欢的就可以了。
好我们说第二步,下载安装g++,我还不晓得这玩意儿到底是干啥的,不过我感觉它类似于jdk,管他呢,先配再说。老规矩,网上资源找一找,当然了,找不到也没关系,喏,这不有现成的。
https://nuwen.net/mingw.html
下载、安装,记住自己的安装路径,注意路径中不要有中文内容!!!(很关键)。安装完成后,打开安装的位置,进入bin目录下。
设置环境变量,咱就是说和jdk差不多吧。怎么找到环境变量咱就不说了,如果找不到也没关系,转头出去查一下。
配置好之后,我们去看一下成功了吗,【Win+R】,输入cmd,打开命令行窗口,在控制台中输入
g++ --version 查看系统当前配置的g++的版本号
运行之后,如上图显示g++的版本号,那么这一步的任务就完成了。
下面来看第三步,打开安装好的VSCode
按照步骤找到上图插件,安装,上面的图是已经安装好了,如果第一次安装应该只有一个按钮。
再搜索安装Code Runner
其他的插件,日后有需要的话再配置安装,目前有这两个就可以了。
好,第四步,关键的要来了,在某一个盘符下面建立一个文件夹(不要使用中文命名)日后的C文件在此调试,注意这个盘符要在之前下载g++的盘符里,意思就是,如果你的g++下载到了D盘,这个文件夹最好在D盘。
然后进入VSCode,点击Open Folder或者点击左上角File -> Open Folder,然后打开刚刚建的文件夹,选择信任父级文件夹
点击这个图标新建一个文件夹,命名为.vscode(注意必须是这个名字!)
点击这个图标创建四个文件,文件名分别是
c_cpp_properties.json,内容:
{
"configurations": [
{
"name": "Win64",
"includePath": ["${workspaceFolder}/**"],
"defines": ["_DEBUG", "UNICODE", "_UNICODE"],
"windowsSdkVersion": "10.0.18362.0",
"compilerPath": "D:/mingw/MinGW/bin/g++.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
注意compilerPath这一项要把路径改成刚才g++的安装路径:找到刚刚的安装文件夹->MinGW->bin->g++,exe ,然后复制或者手动把g++.exe的路径敲上去,格式要跟上面代码段一样。
然后是launch.json,内容为:
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceRoot}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "D:\\mingw\\MinGW\\bin\\gdb.exe",
"preLaunchTask": "g++",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
注意miDebuggerPath这一项也要把路径改成刚才g++的安装路径:找到刚刚的安装文件夹->MinGW->bin->gdb,exe ,然后复制或者手动把gdb.exe的路径敲上去,格式要跟上面代码段一样。
然后是settings.json,内容是:
{
"files.associations": {
"*.py": "python",
"iostream": "cpp",
"*.tcc": "cpp",
"string": "cpp",
"unordered_map": "cpp",
"vector": "cpp",
"ostream": "cpp",
"new": "cpp",
"typeinfo": "cpp",
"deque": "cpp",
"initializer_list": "cpp",
"iosfwd": "cpp",
"fstream": "cpp",
"sstream": "cpp",
"map": "c",
"stdio.h": "c",
"algorithm": "cpp",
"atomic": "cpp",
"bit": "cpp",
"cctype": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"compare": "cpp",
"concepts": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cwchar": "cpp",
"exception": "cpp",
"ios": "cpp",
"istream": "cpp",
"iterator": "cpp",
"limits": "cpp",
"memory": "cpp",
"random": "cpp",
"set": "cpp",
"stack": "cpp",
"stdexcept": "cpp",
"streambuf": "cpp",
"system_error": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
"utility": "cpp",
"xfacet": "cpp",
"xiosbase": "cpp",
"xlocale": "cpp",
"xlocinfo": "cpp",
"xlocnum": "cpp",
"xmemory": "cpp",
"xstddef": "cpp",
"xstring": "cpp",
"xtr1common": "cpp",
"xtree": "cpp",
"xutility": "cpp",
"stdlib.h": "c",
"string.h": "c"
},
"editor.suggest.snippetsPreventQuickSuggestions": false,
"aiXcoder.showTrayIcon": true
}
最后是tasks.json,内容:
{
"version": "2.0.0",
"tasks": [
{
"label": "g++",
"command": "g++",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}.exe"
],
"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/C++代码文件必须放在这个Code文件夹里,或者说有.vscode文件夹的文件夹里,如果调试放在其他位置的代码文件会报错!
可以在Code文件中建多个文件夹分类存放代码。
也可以创建一个文件夹的快捷方式,放到桌面上,以后方便寻找,像这样。
如果上述流程都完成了,那么现在可以新建一个.c或者.cpp文件写代码测试一下你刚刚配置好的VSCode啦!(注意文件名也不能用中文!)
下面,我们运行一下经久不衰的hello world程序。
#include <stdio.h>
int main(int argc, char const *argv[])
{
/* code */
printf("hello world");
return 0;
}
运行成功,配置完成。
学习资料
学习用书呢,我用的是《C Primer Plus》第6版,这本书读起来蛮好的,买书的话还送一堆相关资料。如果不想用实体书的话,PDF版的实体书不太好找。买实体书送的电子版是e读版的,说实话,观感一般。不过我一开始是在微信读书上看的,不过只有前几章是免费的,后续的就需要开通VIP了。如果不想买实体书的话,电子书我推荐通过微信读书看,字体颜色区分的非常清楚,观感很好,翻页也很得劲,开VIP的话也可以读一些其他的好书,更重要的是手机嘛,如果自制力比较好的话,走到哪,学到哪也蛮好的。
结语
开发工具配置好了,学习资料搞到了,那么C语言的基石就差一个最重要的。
持之以恒,日积月累!!!
愿与诸君共勉。