我有一个内置 C# 代码的 Dll,由于某些需要,我想将它与 C++ 代码一起使用。
经过长时间的搜索,我找到了一个解决方案,abcd.tlb
并abcd.dll
使用RegASM.exe
.
我在我的 C++ 项目中导入了tlb文件,一切正常。
但是一段时间后,当我再次从相同的C#代码生成tlb文件并在我的旧C++代码中导入新的tlb文件时,由于函数名称不匹配,旧的 C++ 代码已停止编译。令我惊讶的是,其中一个函数的名称已从.tlh文件中的 更改为。GetUrl
Geturl
当我在另一台机器上使用相同的代码并生成tlb文件时,它运行良好。
有没有人知道为什么在.tlh生成时在特定机器上更改了函数名称?