gpt4 book ai didi

c# - Linux 上的 VC++ 运行时

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:29:49 24 4
gpt4 key购买 nike

我有一个 .NET 应用程序,它通过 P/Invoke 调用 W32 的 API (msvcrt40.dll)。在 Linux Mono 下,应用程序在加载 msvcrt40.dll 时崩溃并出现 DllNotFoundException。我查看了 Wine 以搜索 msvcrt40 共享库,但只找到了无用的假 dll。我的问题是:

  • 在 Linux 下是否有可用的 msvcrt40 等效库?

更新----------------

使用的 API 是:

_mbcjistojms
_mbcjmstojis
_ismbblead

使用 dumpbin 查看 msvcrt40.dll。我发现它将我的调用转发给 msvcrt.dll,后者已被 libc.so.6 取代。同样,使用 objdump 查看 libc-2-12.so 以找到上述 API。不幸的是,这些 API 没有导出。

谢谢。

最佳答案

Is there any msvcrt40 equivalent lib under Linux that works?

不太可能完全直接替换那个非常旧的 MSVC 运行时。

前进的方向是找出正在调用的函数,并找到一种在目标平台上以自然方式实现相同功能的方法。也许可以使用 Mono 框架轻松实现该功能。或者您可以使用平台的 C 运行时。

更新

根据您的意见,您只需要在不同的代码页之间执行一些转换。为此使用 Encoding 类。

关于c# - Linux 上的 VC++ 运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29205994/

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