这是一个用于演示如何在 MSVC 环境下使用 LLVM 的简单示例项目。项目包含一个 C 程序,展示了如何预加载必要的动态链接库(DLL)并初始化 LLVM 的所有目标。
- PreloadLibraries 函数用来加载系统 DLL 和运行时 DLL。
- pLLVMInitializeAllTargets 函数用来加载 LLVM-C.dll 并初始化所有 LLVM 目标。
- main 函数则演示了如何调用上述两个函数并处理可能发生的加载失败情况。
确保你已经安装了 LLVM 以及必要的 MSVC 工具链。然后你可以使用支持 MSVC 的编译器来编译这个程序。
cl /EHsc /I <LLVM_INCLUDE_PATH> /link <LLVM_LIB_PATH>\LLVM-C.lib hello_world.c替换 <LLVM_INCLUDE_PATH> 和 <LLVM_LIB_PATH> 为你的 LLVM 安装路径。
编译完成后,运行生成的可执行文件:
hello_world如果 LLVM-C.dll 和其它依赖的 DLL 能够被正确加载,程序将输出每个初始化的目标名称并成功退出。如果加载失败,程序将输出错误信息并退出。
- 确保 LLVM-C.dll 和其它必要的 DLL 在应用程序目录或系统路径中。
- 这个示例只适用于 Windows 平台,因为它使用了 Windows 特定的 API 如
LoadLibraryExW和GetProcAddress。
本项目遵循 LLVM 项目所采用的许可证。详情请查看 LLVM-C.dll 的分发条款。