免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: flw
打印 上一主题 下一主题

超强 Hello World [复制链接]

论坛徽章:
0
21 [报告]
发表于 2007-04-20 11:46 |只看该作者

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
22 [报告]
发表于 2007-04-20 11:48 |只看该作者
原帖由 yxm0513 于 2007-4-20 11:46 发表
GNU也有哦
http://directory.fsf.org/GNU/hello.html

然。Debian 那个 hello 就是从 GNU 的移植的。
不仅有,而且从 92 年的 1.0 版到 06 年的 2.2 版,一直都有人维护。
所以说,不要小看了 Hello world。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
23 [报告]
发表于 2007-04-20 11:53 |只看该作者
刚看了一下 GNU 的 hello world,发现我的还是不够档次啊。没有考虑到多国语言的支持问题。
另外文档也不如人家的齐全。还有兼容性的问题,唉…… 看来还是差远了。

论坛徽章:
0
24 [报告]
发表于 2007-04-20 12:05 |只看该作者
支持加精,好帖!

建议把gnu的也贴出来

论坛徽章:
0
25 [报告]
发表于 2007-04-20 12:05 |只看该作者
原帖由 flw 于 2007-4-20 11:48 发表

然。Debian 那个 hello 就是从 GNU 的移植的。
不仅有,而且从 92 年的 1.0 版到 06 年的 2.2 版,一直都有人维护。
所以说,不要小看了 Hello world。

我刚装上的那个hello程序是2.1.1版的~~

论坛徽章:
0
26 [报告]
发表于 2007-04-20 12:19 |只看该作者
原帖由 flw 于 2007-4-20 11:27 发表
楼上两位都错了。



我的意思就是解析命令行去用getopt而不是自己去辛苦处理....

可惜...不知道为什么...还是有开源软件自己实现一遍getopt.

论坛徽章:
0
27 [报告]
发表于 2007-04-20 12:35 |只看该作者
while (1) {
        int option_index = 0;
        static struct option long_options[] = {
            { "help",            0, 0, 'h' },
            { "version",         0, 0, 'v' },
            { "traditional",     0, 0, 't' },
            { "next-generation", 0, 0, 'n' },
            { 0, 0, 0, 0 }
        };

为什么有个死循环呢?

论坛徽章:
0
28 [报告]
发表于 2007-04-20 12:38 |只看该作者
原帖由 loveface 于 2007-4-20 12:35 发表
while (1) {
        int option_index = 0;
        static struct option long_options[] = {
            { "help",            0, 0, 'h' },
            { "version",         0, 0 ...



再看下花括号..........
不过我还是习惯K&R风格...

论坛徽章:
0
29 [报告]
发表于 2007-04-20 13:32 |只看该作者

回复 1楼 flw 的帖子

关于getopt的示例程序。

#include <stdio.h>
#include <unistd.h>

int main(int argc, char *argv[])
{
    int opt;

    while((opt = getopt(argc, argv, "if:lr")) != -1) {
        switch(opt) {
        case 'i':
        case 'l':
        case 'r':
            printf("option: %c\n", opt);
            break;
        case 'f':
            printf("filename: %s\n", optarg);
            break;
        case ':':
            printf("option needs a value\n");
            break;
        case '?':
            printf("unknown option: %c\n", optopt);
            break;
        }
    }
    for(; optind < argc; optind++)
        printf("argument: %s\n", argv[optind]);
    exit(0);
}

来源:http://www.wrox.com/WileyCDA/WroxTitle/productCd-0764543733,descCd-download_code.html

Beginning Linux Programming, 2nd Edition
by Richard Stones, Neil Matthew, Alan Cox

ISBN: 978-0-7645-4373-9

论坛徽章:
0
30 [报告]
发表于 2007-04-20 14:05 |只看该作者
参数解析很经典。
更让我明白一件事情,有些人是不能够惹的。会导致全部神经失调
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP