在 Cygwin 上加载 LLVM

发布于 2024-10-25 05:21:42 字数 268 浏览 1 评论 0原文

我正在尝试使用 Cygwin 在 Windows 上编写 LLVM pass。当我创建项目时,会在 Release/bin 目录中创建一个 dll,而不是在 Release/lib 目录中创建 .so 文件。后者是LLVM文档中显示的内容。当我尝试使用 -load 标志加载此 dll 时,没有任何反应。

$opt -load ../../../Release/bin/Pass.dll -help

此后不会打印我尝试加载的通行证。我怎样才能做到这一点?

I am trying to write an LLVM pass on Windows using Cygwin. When I make the project, a dll gets created in the Release/bin directory instead of a .so file in the Release/lib directory. The latter is what is shown in the LLVM document. When I try to load this dll using the -load flag, nothing happens.

$opt -load ../../../Release/bin/Pass.dll -help

The pass that I am trying to load isn't printed after this. How do I get this right?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

酸甜透明夹心 2024-11-01 05:21:42

Windows 上没有动态链接(这是操作系统的怪异之处),因此不幸的是,您根本无法使用这些插件。

好吧,事实上你可以以某种方式,但为此你需要将整个 LLVM 链接到大 .dll 中,将 opt 与这样的库链接,只有这样,东西才有可能工作。

There is no dynamic linking on windows (this is OS weirdness), so you cannot use the plugins at all, unfortunately.

Well, in fact you can somehow, but for this you'd need to link the whole LLVM into big .dll, link opt with such a library and only then there is a possibility that stuff might work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文