在NetHack的程序中,大量的使用了诸如“You("don't have anything to put in.")”之类的语句。
这些语句实际上是一些封装好的输出指令,用来快速的输出一些描述内容。
估计是出于一致性的考虑,整个NetHack源代码中充斥着各种各样的宏定义,用来保证在不同平台、不同编译器中都能使程序进行编译。
当然,如果你只是想简单的了解程序结构的话,这样的处理方式也可以大大地提高程序的可读性。
但是,如果你想进一步研究其原理,或者像我一样想做一些简单的汉化的话,就会遇到很多麻烦。
好在经过不懈的努力,我终于在上千条的搜索结果中找到了You函数及其他类似函数的函数体——他们就安静得躺在Pline.c这个文件之中。
这些语句实际上是一些封装好的输出指令,用来快速的输出一些描述内容。
估计是出于一致性的考虑,整个NetHack源代码中充斥着各种各样的宏定义,用来保证在不同平台、不同编译器中都能使程序进行编译。
当然,如果你只是想简单的了解程序结构的话,这样的处理方式也可以大大地提高程序的可读性。
但是,如果你想进一步研究其原理,或者像我一样想做一些简单的汉化的话,就会遇到很多麻烦。
好在经过不懈的努力,我终于在上千条的搜索结果中找到了You函数及其他类似函数的函数体——他们就安静得躺在Pline.c这个文件之中。
本文探讨了NetHack游戏中使用的特殊输出指令,如You函数等,并介绍了这些指令在Pline.c文件中的实现细节。文章还提到了为了保持跨平台一致性而大量使用的宏定义,以及这些宏定义如何影响代码的可读性和汉化工作的难度。
1439

被折叠的 条评论
为什么被折叠?



