zoukankan      html  css  js  c++  java
  • 混用Int与IntPtr导致GetProcAddress始终返回null

     

    注意NET某些类型在不同平台上的长度

    NET中用句柄用得最多的是在DLLIMPORT中,混用int与intptr可能会导致某些API声明在X64平台中表现不正常,如

    [DllImport("Kernel32")]

    public static extern IntPtr LoadLibrary(string funcname);

    [DllImport("Kernel32")]

    public static extern long GetProcAddress(long handle, string funcname);

     

    int _tmain(int argc, _TCHAR* argv[])  

    {  

        int i = 0;  

        i = sizeof(int);                // x86:4        x64:4  

        i = sizeof(long);           // x86:4        x64:4  

        i = sizeof(void*);          // x86:4        x64:8  

        i = sizeof(short);          // x86:2        x64:2  

        i = sizeof(float);          // x86:4        x64:4  

        i = sizeof(double);         // x86:8        x64:8  

        i = sizeof(int*);           // x86:4        x64:8  

        i = sizeof(WORD);           // x86:2        x64:2  

        i = sizeof(DWORD);          // x86:4        x64:4  

        i = sizeof(LONGLONG);       // x86:8        x64:8  

        i = sizeof(HANDLE);         // x86:4        x64:8  

        i = sizeof(HWND);           // x86:4        x64:8  

        i = sizeof(bool);           // x86:1        x64:1  

        i = sizeof(char);           // x86:1        x64:1  

          

        return 0;  

    }  

     

     

     

    参考:http://blog.csdn.net/road2010/article/details/21406639

     

     

  • 相关阅读:
    数论 欧几里德算法 以及 欧几里得拓展
    数论 快速幂的原理讲解
    汉诺塔模板
    C++ 迭代器运算
    C++ STL vector set map 简易用法
    C++ 使用指向函数的指针数组
    Codeforces 718C 线段树+矩乘
    BZOJ 2506 分块
    Codeforces 455D 分块+链表
    Codeforces 19E 树上差分
  • 原文地址:https://www.cnblogs.com/QinQouShui/p/8391660.html
Copyright © 2011-2022 走看看