DllImport 与 LoadLibrary,最好的方法是什么?

发布于 2024-07-13 14:18:42 字数 139 浏览 8 评论 0原文

我通常在 c#.NET 中使用 Win32 API。 但不要在一份申请中声明所有内容。 有时通常使用 user32,有时使用 gdi32 ... 我认为当我声明所有 api 函数时,它们会使用大量内存。 在 .NET 中使用 API 的最佳方式是什么?

i'm usually using Win32 API in c#.NET. But not declare all in one application. Sometimes usually using user32, sometimes gdi32 ...
I think when i declare all api function, those use lot of memory.
What is the best way using API in .NET ?

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

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

发布评论

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

评论(2

情话难免假 2024-07-20 14:18:42

当您编写的代码可能在可能有或可能没有所需 dll 的环境中使用时,LoadLibrary 非常有用 - 例如,您可能有一个程序可以使用特殊的加密 dll(如果可用),但仍然可以运行没有它。 使用 DllImport 需要该 dll 存在。

LoadLibrary is useful when you are writing code that might be used in an environment that may or may not have the desired dll -- for example, you might have a program that can use a special crypto dll if it is available, but can still operate without it. Using DllImport would require that dll to exist.

止于盛夏 2024-07-20 14:18:42

大多数 Win32 API 都可以通过托管抽象来使用。 否则,请使用 DllImport 声明您需要的内容。

LoadLibrary 实际上应该只在您提供了替代功能的情况下使用,也就是说,即使没有特定的 API 函数,您的应用程序也可以工作。 如果API函数很关键,使用DllImport会让加载器担心该函数是否存在。

Most of the Win32 API is available through managed abstractions. Otherwise, declare the ones you need using DllImport.

LoadLibrary should really only be used where you have provided alternate functionality, that is, your application can work even without that particular API function. If the API function is critical, using DllImport will let the loader worry about whether the function exists or not.

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