对 PInvoke 函数“”的调用导致堆栈不对称

[DllImport("dcrf32.dll")]
        public static extern int dc_init(Int16 port, long baud);  //初始化


WinAPI的long类型是32位的,而C#的long是64位的,会引发PInvokeStackImbalance错误。

因此需要将原来的long类型改为int类型,C#中int是32位的:

[DllImport("dcrf32.dll")]
        public static extern int dc_init(Int16 port, int baud);  //初始化


你可能感兴趣的:(问题,C#)