GCC编译简单实验
1、命令行及命令行参数
命令行也叫命令提示符,在不同的操作系统命令提示符也各不相同,在windows环境下,命令行程序为cmd.exe,可以运行编译Windows环境下的指令。一般Windows命令包含内部命令和外部命令,其中外部命令比较多,外部命令一般在%SystemRoot%\System64里面,而内部命令较少如cd(显示当前目录名或者改变当前目录位置)、cls(清理命令窗口并清除屏幕缓存区)、color(设置命令shell窗口的文本与背景颜色)、copy(将文件从一个位置复制到另一个位置,或者将多个文件连接在一起)。
命令行参数:应用程序被运行时,操作系统传递给应用程序主函数(比如:main 函数)的参 数.就是以命令行方式运行程序时所带参数。
由上图gcc version 9.2.0 (MinGW.org GCC Build-2)提示可知系统已成功配置gcc语言编译环境。
2、采用命令行中GCC编译c语言文件
简单的hello world程序
先在Notepad++中生成HelloWorld.c的文件,储存在D:\SSM\StudyWork\PostGraduate\ Code\c路径下;
在路径下打开命令行窗口,编译命令为gcc HelloWorld1.c, 成的可执行文件默认为a.exe,输入a.exe即可运行该可执行程序。可添加-o参数给a.exe进行重命名,如把HelloWorld1.c编译生成的可执行文件命名为HelloWorld1.exe的编译命令为:gcc HelloWorld1.c -o hello.exe
此时就可以输出HelloWorld1.exe运行该程序,如:
运用4中不同方式输出HelloWorld!的代码与结果对比:
直接打印无返回语句HelloWorld1.c:
#include<stdio.h>
void main()
{
printf("Hello Worlld");
}
直接打印有返回语句HelloWorld2.c:
#include<stdio.h>
/*文件包含命令,stdio.h称为文件头,里面包含了程序中需要使用的一些基本函数*/
int main()
/*主函数,C语言程序的入口,int表示函数类型为整型*/
{
printf("HelloWorld!\n");
/*头文件中包含的输出函数,\n 表示换行符*/
return 0;
/*表示一个函数运行后需要的返回,函数类型为整型所以返回0*/
}
定义数组从键盘输入打印HelloWorld3.c:
#include<stdio.h>
/*文件包含命令,stdio.h称为文件头,里面包含了程序中需要使用的一些基本函数*/
int main()
/*主函数,C语言程序的入口,int表示函数类型为整型*/
{
char a[50];//定义长度为50的字符数组
printf("输入:");//打印输入提示
scanf("%s",a);//从键盘输入字符串放到a中
printf("%s\n",a);//输出a中字符串
/*输出格式可以是s%(输出字符串),%d(输出十进制数字)*/
return 0;
/*表示一个函数运行后需要的返回,函数类型为整型所以返回0*/
}
自定义函数,主函数调用打印HelloWorld4.c:
#include<stdio.h>
/*文件包含命令,stdio.h称为文件头,里面包含了程序中需要使用的一些基本函数*/
void HelloWorld()//自定义Helloworld函数
{
printf("HelloWorld!\n");//函数语句
}
int main()
/*主函数,C语言程序的入口,int表示函数类型为整型*/
{
HelloWorld();//调用所定义的HelloWorld函数
}
先用GCC进行编译生成.exe文件,运行结果如下:
HelloWorld2.exe打印语句\n语句使运行后多出一个空行,控制台环境不支持中文,从HelloWorld3.exe中可看出乱码。
对HelloWorld3.c做修改:
乱码去除如下: