Delphi调用VC编译的OBJ文件

Delphi 项目里调用 VC 编译出来的.obj文件,其实没你想的那么玄。这种用法挺实用的,是当你手上只有 C++写的库,想省事又不想重写一遍。VC 编译的.obj文件能被 Delphi 直接链接,只要你注意一下接口声明和符号匹配,基本就能跑起来。

64 位和 32 位.obj文件分开编译的做法也蛮靠谱的,像CtoDelphi64.objCtoDelphi32.obj,你在 Delphi 工程里按需引入就行。别忘了,工程配置要对上,比如架构、链接模式这些,搞错了可是会报一堆链接错。

CallMVSC.dprCallMVSC.dproj就是 Delphi 项目的主心骨,一个控制入口,一个配构建环境,和 VS 的集成也方便。如果你用的是 Delphi XE2 及以后版本,那 C++Interop 也比较成熟,支持写extern "C"那套,符号不会乱飘。

调用 VC 的代码一般放在VsAndDelphi.pas,界面这块走的是VsAndDelphi.dfm,该干嘛干嘛,Delphi 这块还是蛮顺的。而那个VStudio_C.zip多半是源文件包,用来生成.obj的。你要是自己改了里面的 C++代码,记得重新编译一下。

实际用处挺多的,比如对接硬件、接 C++做的图像库,甚至有的游戏逻辑也在 C++里写,这种方式都能拿来用。如果你平时主要在 Delphi 里开发,但偶尔又得吃 C++那口资源,这招蛮值得一试。

提醒一句:接口声明对齐、符号命名一致、平台架构别搞错,这三样对上了,率你就能顺利跑通。如果你刚好有 VC 写的代码,别急着重构,不如试试看直接塞进 Delphi 跑一下,说不定就成了。

zip
VSandDelphi.zip 预估大小:7个文件
file
CallMVSC.dproj 8KB
file
CtoDelphi64.obj 12KB
file
VsAndDelphi.pas 5KB
file
CallMVSC.dpr 246B
file
VsAndDelphi.dfm 4KB
file
CtoDelphi32.obj 11KB
file
VStudio_C.zip 5KB
zip 文件大小:18.11KB