特定于平台的库的运行时或编译时?
我正在用 C++ 创建一个库。它链接 Windows 上的 Windows 库和 Linux 上的 Linux 库。它是抽象的,一切都很好。
但是,动态检测、加载和使用库(并复制头文件以供使用)是否可行,以便在 LLVM JIT 下运行时可以在任何平台上使用它?
I'm creating a library in C++. It links against Windows libraries on Windows and Linux libraries on Linux. It's abstracted, all is well.
However, is it feasible to dynamically detect, load and use libraries (and copying header files for use) so it could be used on any platform if it was running under LLVM JIT?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不幸的是,位码文件中的 LLVM 中间表示并不是完全与机器无关的。例如,您可能可以使用 x86 Linux 和 Windows,但相同的位代码可能无法在 x86_64 系统上运行。
Unfortunately, the LLVM intermediate representation in the bitcode files is not machine completely machine independent. You could probably get away with x86 Linux and Windows, but that same bitcode would probably not run on x86_64 systems, for example.