博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
混用Int与IntPtr导致GetProcAddress始终返回null
阅读量:5309 次
发布时间:2019-06-14

本文共 893 字,大约阅读时间需要 2 分钟。

 

注意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;  

}  

 

 

 

参考:

 

 

转载于:https://www.cnblogs.com/QinQouShui/p/8391660.html

你可能感兴趣的文章
dedecms讲解-arc.listview.class.php分析,列表页展示
查看>>
Extjs6 经典版 combo下拉框数据的使用及动态传参
查看>>
【NodeJS】http-server.cmd
查看>>
研磨JavaScript系列(五):奇妙的对象
查看>>
面试题2
查看>>
selenium+java iframe定位
查看>>
P2P综述
查看>>
第五章 如何使用Burp Target
查看>>
Sprint阶段测试评分总结
查看>>
sqlite3经常使用命令&语法
查看>>
linux下编译openjdk8
查看>>
【python】--迭代器生成器装饰器
查看>>
Pow(x, n)
查看>>
安卓当中的线程和每秒刷一次
查看>>
每日一库:Modernizr.js,es5-shim.js,es5-safe.js
查看>>
ajax连接服务器框架
查看>>
wpf样式绑定 行为绑定 事件关联 路由事件实例
查看>>
利用maven管理项目之POM文件配置
查看>>
TCL:表格(xls)中写入数据
查看>>
Oracle事务
查看>>