【发布时间】:2019-06-21 12:53:51
【问题描述】:
我在 Windows 应用程序中使用 JIT-ting C++ 代码。我使用的是 LLVM/CLang 5.0,应用程序是使用 MsVc 2015 编译的。
虽然使用这两个工具链创建的 DLL 和可执行代码可以很好地混合和匹配,但我遇到了不包含 LLVM 应该自动生成的变量的 JIT-ted 代码的问题,例如 ??_7type_info@@6B@ 和相关的东西,喜欢\01??_R0H@8。它们仅注册为外部,任何使用它们都会导致应用程序崩溃
LLVM ERROR: Program used external function '??_7type_info@@6B@' which could not be resolved!
虽然我找到了将用户定义变量添加到 JIT 代码的示例,但我找不到有效的解决方案来解决让 JIT 代码引用这些在幕后生成的内部变量的问题。
我相信我可以通过使用 CLang 编译的 DLL 提供缺失的变量,并调整 .ll,但我更喜欢更简洁的解决方案,只需配置 JIT-ter 引擎。
有人可以帮帮我吗?
【问题讨论】: