免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 880 | 回复: 0
打印 上一主题 下一主题

我曾经用过的源代码-hello.c Linux下C程序标准main格式 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-31 16:17 |只看该作者 |倒序浏览

下面这个例子是最基础的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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP