首次接触Linux系统,刚开始都不知道选用哪个,听说国内用Ubuntu比较多,但是做服务器的话用CentOS,所以我选择了CentOS,纯属感觉逼格高点而已(其实一开始我还以为Linux系统就是Linux系统,和Ubuntu、CentOS没有关系,上网查找才知道它们的关系)

再插点闲话:我这里是做实验用到的Linux系统,Ubuntu和CentOS都是有桌面的,Linux的最小版本是没有桌面的,就是纯控制台那种,别人告诉我安装最小版本,但是我觉得没有必要,既然有桌面干嘛不用桌面?是吧?

Linux系统的安装这里不做介绍,看网上别人的安装教程还有点复杂,我自己安装有点傻瓜式,不像别人说的那么麻烦,不懂安装的还是去找教程吧

下面回到正题

centos C语言mysql centos编写c语言_CentOS编写C语言


写程序我们用它自带的编辑器

centos C语言mysql centos编写c语言_CentOS_02


进入编辑器:

centos C语言mysql centos编写c语言_数组_03


也可以自定义保存,我选择自定义保存

centos C语言mysql centos编写c语言_数组_04


写C语言程序时记得以.c结尾,如myProgram.c

centos C语言mysql centos编写c语言_centos C语言mysql_05


接下来就可以编写程序了,写好程序后就是编译,步骤如下:回到桌面,右键打开控制台

centos C语言mysql centos编写c语言_centos C语言mysql_06


第一句是编译,第二句是运行,如果编译不过,即代码有误,会报错,我上面的error就是错误

centos C语言mysql centos编写c语言_CentOS_07


gcc:表示编译,必须要写

CloudTest/Test1/mostCountWord.c:原文件路径

-g:用于调式,可以写,可以不写,建议写上,方便调试

-o:告诉 GCC 把源代码编译为目标代码而跳过汇编和连接的步骤

CloudTest/Test1/mostCountWord:目标文件

上面的语句也可以这样写:gcc -g -o CloudTest/Test1/mostCountWord CloudTest/Test1/mostCountWord.c

第二句就不用多说了,前面的./是必须的如果要调试则这样输入,gdb进入调试

centos C语言mysql centos编写c语言_centos C语言mysql_08


调试的时候先run,再进行调试

centos C语言mysql centos编写c语言_x系统_09


我的程序是读取文件,然后统计出现次数最多的几个单词,如下所示:

centos C语言mysql centos编写c语言_数组_10


关于CentOS编写C语言程序到此结束

下面写重点,写这篇文章的目的其实是为了记录这个过程遇到的问题

问题一:const修饰的常量不能用于数组

centos C语言mysql centos编写c语言_数组_11


报错如下:variably modified ‘word’ at file scope

centos C语言mysql centos编写c语言_数组_12


使用const修饰在c++里面是可以的,但是c不行,听说可以使用#define MAXSIZE 128解决,但是我试了不行,所以最终采用方案是直接在数组里面用数字声明数组大小。问题二:无法打开文件

这个其实是文件路径问题,即使c语言原文件和要读取的文件在同一个文件下面也不行,解决方法是使用绝对路径:

centos C语言mysql centos编写c语言_数组_13