目录
为什么要写这篇
因为到目前为止也写了好几篇关于C代码功能模块的文章了,学以致用,用不到实际工作中没关系,但目的是朝向那方面的,贴出来,之后用到时直接看自己写的笔记就行了。
出发点是这样的,但既然是写成了博客,就不应该一直自嗨,该让偶尔看到的人也能清楚明白,如果更近一步想测试一下的话,也该提供源代码文件和编译运行环境。源代码稍微整理一下会上传到CSDN资源,基本不会改动了,假如后期有改动的话,可能就会在博文里说明一下并贴一个GitHub或Gitee链接了。
C代码编译环境了解历程
之前大学课程 是Visual C++ 6.0来编写程序测试吧,现在可以用Visual Studio 新建一个Win32 控制台程序,然后勾选空项目来编写程序运行。这只是一种方法,也是大学时知道的唯一方法,为了编写几个C代码就去下载好几个G的软件,有些感觉怪怪的。每写一个功能模块就新建一个工程,起名什么的应该都会有些烦吧,而且还得打开特定的软件,要还是用这种方式,我估计就不会编写C代码了,因为不够轻便。
后来了解到还有菜鸟C在线工具这种东西,将C代码直接复制上去,点击运行,若成功则会显示运行结果,不成功则会提示编译失败问题。好用是好用,但也有其局限性:只能是C标准函数库,如果有windows.h 则失败,而且只能是一个源文件。
后来还了解到有C语言编译器,是个手机App,直接在手机的应用市场就能搜索到,下载了一个体验了一下,真不好玩。
后来了解到的方法是安装一个开源的MINGW,可以编译C代码和C++代码,安装好之后只需进入源代码所在文件目录,一条语句来编译,一条语句来运行。就可以了。后来觉得还是麻烦,可以使用Notepad++ 或 VScode 一键编译运行。两者的局限性还是只能编译单个源文件,对于多个源文件,我目前用的方法就是:进入源代码所在文件目录,一条语句来编译,一条语句来运行。还在探索的方法是编写Makefile文件。
使用Notepad++的好处是直接打开cmd窗口,对于清屏来刷新显示操作比较友好,缺点是我试验的C语言将数据表输出到文本文档,生成的文本文档和源代码不在同一目录下,而是在Notepad++.exe的目录下,改了几次也没改过来
使用VScode的好处是可能功能更强大些,有调试功能,不过我没试:VScode官方文档,(可能是更喜欢串口输出来调试一点儿吧),缺点是我之前写的VScode的run code 那么点儿不足之处,就是清屏刷新显示的问题
环境搭建
首先推荐的是用VScode
因为插件很强大,用着更舒服。环境搭建已经有写好的文章了,就没必要自己再详细的写一遍了。
MINGW下载与安装教程 和 VScode运行C 和 C++程序
如果真的想用Notepad++的话
可以参考着看一下这几篇文章
使用Notepad++ 来开发C程序 把Notepad++配置成能编译C代码的记事本
以及
体验体验工程文件编译链接使用Makefile
假设已经装好MINGW, 之后将mingw32-make.exe 复制粘贴重命名为make.exe
之后将一个文本文档中写入 , 并修改文件名为Compile.bat, 注意文件后缀名不是txt
要想修改文件后缀名,先需要勾选文件扩展名
然后双击Compile.bat 就会执行多个文件的编译了,编译完成还会直接执行
因为窗口闪退,我在testList.c文件的main函数末尾添加了一句getchar(); 后来发现这种方式并不好,因为如果执行make过程中编译出错,窗口还是会闪退,就没办法看到编译后的提示了,更好的方式是在Compil.bat的最后另起一行,写一句pause
重新编译后看到另一个.o文件的还是原来编译时的日期。Makefile只会重新修改过的源文件。
.bat是脚本文件,按照我的理解,cmd命令直接写到里面双击就会运行,.bat内部格式较乱,空格不能随便添加。.o文件是obj文件,目标文件,Makefile没有后缀名,是工程文件的编译和链接规则。需要将Makefile和Compile.bat 与源文件放在同一目录下,双击Compile.bat,会通过cmd命令窗口查找make命令,因为MINGW的bin路径添加在了环境变量里,会查找到make.exe,然后make.exe会在当前目录下查找Makefile文件,根据Makefile中的编译和链接规则,执行编译,编译完成后,会执行Compile.bat中的另一条命令main.exe,因为在当前路径下只有一个main.exe,就是编译生成的可执行文件,然后运行该文件,该文件功能是测试链表,打印出一些信息。