美文网首页
喜欢游戏的gcc设计者

喜欢游戏的gcc设计者

作者: 新世界后半段 | 来源:发表于2019-04-04 16:42 被阅读0次

ANSI C标准制定是引入了pragma指示符(源于Ada)。#pragma用于向编译器提示一些信息,诸如希望把某个特定函数扩展为内联函数,或者取消边界检查。由于它并非C语言固有,pragma遭到了一个gcc编译器设计者的积极抵制,他把这个“由编译器定义的”的效果搞的很搞笑---在gcc1.34版,如果使用了pragma。将不会导致编译器停止编译,而是运行一个计算机游戏!在gcc手册中:

  在ANSI C 标准中,“#pragma”指令会产生一个由编译器定义的任何效果。
在GUN C 预处理器中,一旦遇见“#pargma”指令,它会视图运行“rogue”游戏;
如果失败,尝试运行“hack”游戏;如果还是失败,它会尝试运行GUN Emacs,
显示汉诺塔(Tower of Hanoi)。
如果仍然失败,它会报告一个致命错误。总之,预处理过程不会继续下去

GUN C 编译器中关于预处理器的部分代码如下:

  do_pragma()
{
    close(0);
    if(open("/dev/tty",O_RDONLY,0666) != 0)
        goto nope;
    close(1);
    if(open("/dev/tty",0_WRONLY,0666) != 1)
        goto nope;
    exel("/usr/games/hack","#pragma",0);
    exel("/usr/games/rogue","#pragma",0);
    exel("/usr/new/emacs/","-f","hanoi","9","-kill",0);
    exel("/usr/local/emacs","-f","banoi","9","-kill",0);
nope:
    fatal("you are in a maze of twisty compiler features , all different");
}

特别搞笑的是,用户手册中描述的是错误的,它把"hack"和"rogue"的次序搞反了

相关文章

  • 喜欢游戏的gcc设计者

    ANSI C标准制定是引入了pragma指示符(源于Ada)。#pragma用于向编译器提示一些信息,诸如希望把某...

  • 我喜欢当游戏设计者

    《》#Leo的日记# D186 今天晚上开了3个多小时的语音会议,终于把下一期日更的主框架都确定下来了。 我在想,...

  • 2019-02-19

    孩子为什么迷恋游戏:游戏的设计者必须15秒内让你喜欢上,是游戏的评估标准。游戏剧本是发行前评估的重要依据。游戏有剧...

  • 日思录

    26/360 我是一个游戏迷,游戏中我扮演着一个又一个我喜欢的角色,按照游戏设计者的设定,在游戏的世界里干着屠龙寻...

  • 游戏策划入门修行(二)——游戏策划在游戏的制作过程中所扮演的角色

    游戏策划,又被称为游戏设计师(GameDesigner)。从字面上来理解就是游戏设计者的意思。在早期端游时代,游戏...

  • 4. 游戏和故事

    游戏和传统故事的区别 玩家能在游戏中,通过自己的选择改变游戏的进展,得到只属于自己的游戏故事。 设计者应做的 鼓励...

  • 十秒钟了解游戏是什么

    游戏是设计者有意和无意(如游戏漏洞)设计了一套游戏规则,用户在游戏的表现越符合这套规则,在这套游戏的得分越高。

  • 7. 设计游戏语言,借此构筑游戏世界

    游戏语言是什么? 游戏设计者用于与玩家交流的符号和标记。 游戏语言的具体分类 名词:游戏世界中可与玩家角色互动的对...

  • 基于VC++的WIN32 API界面编程实现的百战天虫小游戏

    1 游戏介绍 本游戏是建立在百战天虫游戏框架下的,具有完全不同的游戏背景的一款回合制对战游戏。游戏设计者受到口袋妖...

  • 《超越1024》

    《超越1024》是一款简单休闲的益智游戏。 从游戏设计者的角度出发,我们希望开发一款纯粹的游戏,不以点击为目的,不...

网友评论

      本文标题:喜欢游戏的gcc设计者

      本文链接:https://www.haomeiwen.com/subject/vecnhftx.html