简介:
如果一个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();
}
效果