简介:
如果一个dll,有64位和32位两个版本的,可以自动识别系统调用对应的dll。
如果变量类型有long使用而且超过int的范围时,就不能使用了,因为两个函数的变量类型要一致,最终会使用int型作为变量的入口类型。
代码
- 新建类,用于导出dll的函数。
- 静态类,外部直接调用。
- 系统位数和dll的位数要一致,否则报错,内容:试图加载格式不正确的程序。
public class MyDll
{
public static bool Is64Bit = System.Environment.Is64BitOperatingSystem;
public static bool Init()
{
if (Is64Bit)
{
return Init_x64();
}
else
{
return Init_x86();
}
}
[DllImport("dll创建_x64.dll", EntryPoint = "Init")]
private static extern bool Init_x64();
[DllImport("dll创建_x86.dll", EntryPoint = "Init")]
private static extern bool Init_x86();
}
private void btnInit_Click(object sender, EventArgs e)
{
MyDll.Init();
}
效果

本文介绍了一个能够自动识别系统位数并调用相应版本DLL(32位或64位)的方法。通过一个静态类实现,该类包含用于初始化DLL的函数,根据系统环境选择正确的DLL版本。代码示例展示了如何在按钮点击事件中调用此初始化函数。
529

被折叠的 条评论
为什么被折叠?



