是否有像Borland“coff2omf.exe”这样的工具可以将Borland OMF LIB格式转换为MS VC++ COFF LIB格式?
实际上,我想在delphi中创建.obj文件,并在MSVC++中使用它。
发布于 2013-06-03 16:37:28
据我所知,没有这样的工具。使用Agner的目标文件转换器,Arnaud提到的工具,我从来没有成功地将Delphi单元转换成可以链接到MSVC程序的COFF .obj。
我确实认为,获取Delphi源代码,编译它,然后在MSVC中使用生成的对象是不现实的。另一个方向是很有可能的。您可以将C代码编译为一个对象,并将该对象链接到您的Delphi可执行文件。执行此操作时,需要解析编译对象所具有的任何依赖项。
但是,要将Delphi对象链接到C/C++程序中,将需要使用Delphi RTL的任何部分。这将是棘手的,除非您碰巧没有使用Delphi RTL的任何部分,这似乎不太可能。
在你的情况下,我认为你的选择是:
发布于 2013-06-03 17:04:33
是的,确实有这样一个工具。
参见this tool。
此实用程序可用于在所有32位和64位x86平台上在COFF/PE、OMF、ELF和Mach-O格式之间转换目标文件。可以修改对象文件中的符号名称。可以跨平台构建、修改和转换函数库。可以转储目标文件和可执行文件。还包括一个非常好的反汇编程序,支持SSE4,AVX,AVX2,FMA和XOP指令集。包含源代码(GPL)。手册。
请注意,这个http://www.agner.org网站是我所知道的关于低级优化的最好资源。如果你想解决性能问题,所有的链接信息都值得一读。
但是对于使用Delphi生成的.obj和VC++来说,这不是很容易实现的,但是对于非常小的代码部分。您需要在代码中使用Delphi RTL。外部.dll要好得多。还要注意,有些类型(如字符串或动态数组)在VC++中不容易修改。
https://stackoverflow.com/questions/16892601
复制相似问题