gpt4 book ai didi

c# - 使用 SWIG 为 C# 生成 AnyCPU 程序集

转载 作者:太空宇宙 更新时间:2023-11-04 11:31:31 24 4
gpt4 key购买 nike

是否可以使用 SWIG 创建 AnyCpu 程序集?我编译了 x86 和 x64 二进制文件 (c++),并且能够生成 SWIG P/Invoke Wrapper。但是包装器依赖于调用的 native dll(特定于 CPU)。但我喜欢让可执行文件决定而不是拥有两个不同的可执行文件的想法。如果这有帮助,我会把 dll 放在单独的文件夹中(例如命名为 x64/x86)。还是我必须用 C# 编写一个手工包装器来决定加载正确的 dll?

感谢您的输入。

最佳答案

看来您必须自行包装。

出于类似原因,我发现了 CLRZMQ 使用的解决方案。

他们通过嵌入两个 .dll 版本并提取符合当前平台的版本,很好地解决了这个问题:

他们通过使用 Environment.Is64BitProcess 并在提取和加载正确的 dll 之前添加 x86 或 x64 后缀 + 版本字符串来确定运行平台。

这里是 their solution to the problem这是corresponding discussion这对如何解决它给出了不同的想法。同样有趣的是他们的 SafeLibraryHandle这是我刚刚发现的。

关于c# - 使用 SWIG 为 C# 生成 AnyCPU 程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24614692/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com