- 论坛徽章:
- 0
|
下面这个例子是最基础的hello,world程序,用来说明 Linux下标准C程序main格式。
源代码是:
/************关于本文档********************************************
*filename: hello.c
*purpose: 说明Linux下C程序标准main格式
Linux爱好者 Linux知识传播者 SOHO族 开发者 最擅长C语言
*date time:2008-01-26 16:05
*Note: 任何人可以任意复制代码并运用这些文档,当然包括你的商业用途
* 但请遵循GPL
*Thanks to:
* Ubuntu 本程序在Ubuntu 7.10系统上测试完全正常
* Google.com 我通常通过google搜索发现许多有用的资料
*Hope:希望越来越多的人贡献自己的力量,为科学技术发展出力
* 科技站在巨人的肩膀上进步更快!感谢有开源前辈的贡献!
*********************************************************************/
#include /* 标准IO库,由GNU c库提供,即软件包libc6-dev*/
int main(int argc, char ** argv)
{
printf("hello, linux\n");
return 0;
}
在Linux下一个C程序的main函数应该有返回值,可以省略,也可以显示申明为int型,这是为了给系统管理此进程而用。
比如系统调用此程序后需要知道一个返回值表明它是执行成功还是失败了,并且可以由返回值知道程序执行的各种情况,比如失败原因等。
同时,由于一般程序都会由用户输入参数,因此main函数带有两个参数,一个int型数表明用户输入的参数的个数(此值最小为1,即程序名称本身一个),另一个参数一般申明为char * x[]型结构,由于字符串指针的特性,它等同于char ** x。因此常见的main申明格式为:
int main(int c, char * v[])
或者
int main(int c, char ** v)
这里两个参数名称c和v是编程者自己任意指定的。
编译此程序用命令:
gcc -Wall hello.c
执行程序:
./a.out
得到输出:
hello, linux
如果此程序稍作修改变成如下,就看得更清楚了:
#include /* 标准IO库,由GNU c库提供,即软件包libc6-dev*/
int main(int argc, char ** argv)
{
int i = 0;
printf("hello, linux。总共%d个参数\n", argc - 1);
for(i = 0; i < argc; i++) printf("第%d个参数是%s\r\n", i, argv);
return 0;
}
重新编译此程序再运行吧:
gcc -Wall hello.c
分别试着用这些命令运行看结果:
./a.out
./a.out param1 param2
./a.out param1 -option1
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/47710/showart_1886400.html |
|