我试图恢复使用Borland Turbo C++构建的1990年代的应用程序(版本未知,也许是3.0,也许是4.5?),并且显然针对Windows 3.1。
该项目包含一个.c文件和一个.res文件。我没有尝试定位古老的编译器,而是将C源代码调整为与MinGW gcc ver 4.5.2兼容,以为可以为win32重建它。不幸的是,这是这些Windows程序之一,其中主窗口是一个对话框,并且对话框规范嵌入在.res文件中。当然,现代的MinGW gcc无法理解旧的.res格式。
那么,有没有办法从1990年代的Borland .res文件中恢复.rc文件?我知道在编译像这样的旧16位Windows代码时还会有其他问题,但是我以后可以处理(它只有2K loc),现在绊脚石就是这个资源文件。
稍后再说..
我已经找到了“Turbo C 3.1”,但这东西是旅行。它实际上可以为16位窗口进行编译,生成的可执行文件需要NTVDM才能在XP下运行,但是这一概念得到了证明。在一个简单的Windows hello-world上进行了尝试,并且成功了。
无论如何,问题仍然是.res文件!有一个包含上述 Material 的项目(.prj)文件,但显然它调出了.rc源文件。我知道使用gcc,我可以将已经编译的资源文件链接到可执行文件中,但是如果我能弄清楚'bcc'这样做的奇怪命令行,那就太麻烦了。为了了解它有多奇怪,bcc使用-W作为标志来“创建Windows应用程序”。一定有可能。有人记得吗?
(以前,我认为可能有更好的标签。请随时重新标签。)
最佳答案
打开Watcom C/C++的资源编辑器(wre.exe)似乎能够打开16位.res文件。如果最新版本不能完全正常运行(这并不是完全意外的,因为很少有人使用16位资源文件),请尝试使用更早的版本。