C专家编程 第1章 C:穿越时空的迷雾 1.11 轻松一下---由编译器定义的Pragmas效果

    轻松一下---由编译器定义的Pragmas效果
    Free Software Foundation, FSF) 自由软件基金会,由MIT顶级黑客Richard Stallman创立(天才程序员)。 
    初衷:软件应该是免费的,所有人都可以自由使用。
    宗旨:消除在计算机程序复制、重发布、理解和修改方面的限制。
    建立一个UNIX的自由软件实现方案,称为GUN(代表GUN's Not UNIX)。
    作品:GUN C编译器系列。
    gcc是一个在代码优化方面具有创造性的健壮的编译器,可以在很多硬件平台使用, 有时甚至比编译器厂商的产品更为优秀 。
    指定ANSI C标准时,引入了pragma指示符,这个指示符来源于Ada。
    #pragma作用:用于向编译器提示一些信息,诸如希望把某个特定函数扩展为内联函数,或者取消边界的检查。由于它并非C语言所固有,pragma遭到了一个gcc编译器设计者的积极抵制。 
    #pragma指示符的行为是由编译器定义的
    在GUN C编译器中,它的定义如下:
    do_pragma() {
        close(0);
        if (open("/dev/tty", O_RDONLY, 0666) != 0)
            goto nope;
        close(1);
        if (open("/dev/tty", O_    WRONLY, 0666) != 1)
            goto nope;
        //运行hack游戏 
        exel("/usr/games/hack", "#pragma", 0);  
        //运行rogue游戏 
        exel("/usr/games/rogue", "#pragma", 0);
        //运行GUN emacs 
        exel("/usr/new/emacs", "-f", "hanoi", "9", "-kill", 0);
        exel("/usr/local/emacs", "-f", "hanoi", "9", "-kill", 0);
        //报告致命错误 
        nope: 
        fatal("you are in a maze of twisty compiler features, all different")
    } 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_40186813

你的能量无可限量。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值