是否可以将二进制数据嵌入到Turbo C中制作的DOS EXE中?

时间:2019-04-16 07:46:43

标签: c dos turbo-c++ dosbox

我已经用Turbo C ++建立了DOSBox开发环境,打算用我的朋友制作游戏。

我正在使用C代码,并且想知道如何将二进制数据链接到EXE。 (我以前使用C的所有经验都是libGBA,很抱歉,如果这实际上不是我认为的可能。)

如果不可能,那么嵌入二进制数据的另一种选择是什么? (我真的不想要游戏目录中的一堆二进制文件...)

找不到太多有关Turbo C的第三方文档,尤其是考虑到我使用的是我的IDE的另一种受支持但不是主要语言,该语言在完全移至另一个操作系统后于2000年代初进行了更新。

1 个答案:

答案 0 :(得分:0)

应该可以使用Turbo C ++附带的BGIOBJ.EXE实用程序来实现所需的功能。

BGIOBJ可以将二进制文件转换为.obj文件,然后可以将其链接到.exe文件中。其主要目的是在.exe中包含BGI驱动程序和字体,但不应对文件施加任何限制(大小除外)。

不幸的是,我无法确切地告诉您如何在运行时获取文件加载位置的内存地址,但这并不难。 BGIOBJ支持公共名称,段名称和段类的参数,因此您可以参考这些参数。