用DllImport引用的时候,函数修改如下
[DllImport("test.dll",CharSet = CharSet.Ansi)]
public static extern bool ReadCSE(string lpszPathName, [In, Out] short[] data, int length);
在32位平台上可以正常运行。
[DllImport("test.dll",CharSet = CharSet.Ansi)]
public static extern bool ReadCSE(string lpszPathName, [In, Out] short[] data, int length);
在32位平台上可以正常运行。
在win8 64位上运行时,就会报ReadCSE函数出错。
项目右键属性->项目设计器->生成->平台->把'默认设置(任何 CPU)'改为x86。
因为'任何 CPU'的程序在64位的机器上就会用运行为64位,而64程序是不能加载32位dll的