C#中调用c++的dll如何适应32位跟64位的平台

来源:互联网 发布:地理信息系统算法试卷 编辑:程序博客网 时间:2024/06/03 18:32

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">C#中调用c++的dll如何适应32位跟64位的平台</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">首先需要编译32/64两个版本的两个dll放到对应的运行目录下</span>

其次写一个平台判断方法

/// <summary>        /// 是否64位        /// </summary>        /// <returns></returns>        public static bool IsSys64bit()        {            if (IntPtr.Size == 8)            {                return true;            }            else            {                return false;            }        } 
再在调用方法增加该判断即可

    internal static string LIB_NAME = IsSys64bit() ? "libTestDLL_X64.dll" : "libTestDLL.dll";        [DllImport(LIB_NAME, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]        public static extern IntPtr Demo(string input, int cnt);



1 0
原创粉丝点击