环境
CentOS7
vmplayer版本(因为免费)
软件
gcc (进行编译程序)
安装: 使用 yum install gcc -y 即可
流程
使用vim创建一个.C文件
vim hello.c
在里面和在windows平台一样的编辑方法
#include <stdio.h>
int main(void)
{
printf("Hello World!");
return 0;
}
开始对该文件进行编译 gcc hello.c -o hello.out 生成一个 hello.out 文件
运行该文件 ./hello.out 即可在控制台输出语句。
疑惑点解释:
#include 预处理器指令,此处引用了stdio.h
main 主函数,程序第一个调用的函数
printf 格式化输出信息
return 0 表示正常退出程序
#include <stdio.h> 为什么用双箭头而不是“”, <> 和 “” 有什么区别吗?
<> 这个是从系统寻找该文件
“” 这个一般是自己编写的文件
gcc hello.c -o hello.out 是什么意思?
-o 是指重新命名了输出文件,不写则默认输出 a.out
./hello.out 的 ./ 是什么意思?
./ 是执行该程序的意思。
扩展:
**#include 预处理器指令**
预处理器发现#include指令后就会去寻找#include <> 或者 #include ""里的文件名
#include <> 引用的是编译器的的类库路径里的文件
这个路径在我们编译器安装时候就设定了。比如这个设定在
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\include
编译器就会在这个目录下面寻找,比如我#include <stdio.h>他就会在这个目录下面进行寻找stdio.h文件,如果没有这个stdio.h文件,编译器就会报错。
#include "" 引用的是你当前程序目录下面相对的文件
**main(主函数)只有两种定义方法是正确的**
第一种 int main(void) 这种是最常见的
第二种 int main(int argc, char *argv[]) 这种是命令行参数所使用到的
**argc表示命令行参数的个数**
argv表示命令行参数的字符串指针
(其中argv[0]表示程序全名,比如:当前项目在F:/Project/下面,则argv[0]表示F:/Project/xxx(xxx为项目名称))
** main(主函数)返回值 return 0;**
main(主函数)的返回值表示程序是否正常退出程序,因为在main(主函数)调用完成后会调用exit(ret),ret表示main(主函数)的返回值。exit函数是用来终止当前进程(当前程序),exit(0)表示正常退出,exit(非0)表示异常结束。
**printf 格式化输出信息**
printf是stdio.h里面的一个函数,只有引用了stdio.h才能使用,当前printf是在控制台上格式输出一条信息,当前输出的内容是HelloWorld!,所以在控制台能看到一条HelloWorld!语句。
————————————————
版权声明:本文为CSDN博主「yoohm」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_34260368/java/article/details/78188153