博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

07 2012 档案

摘要:问题描述:对 PInvoke 函数“xxFunction()”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配问题解决:1、在c#中函数声明处改一个参数,[DllImport("xx.dll", EntryPoint=“xxFunction”, CallingConvention = CallingConvention.Cdecl)]调用时不变 2、在c++代码中改对应的c++函数参数从extern“C” _declspec(dllexport)voidxxFunct 阅读全文

posted @ 2012-07-20 09:29 漫游GIS 阅读(5704) 评论(1) 推荐(0)

摘要:一、16进制色字符串转ARGBDWORD color;Byte A = Convert.ToByte((color >> 24) & 255);Byte R = Convert.ToByte((color >> 16) & 255);Byte G = Convert.ToByte((color >> 8) & 255);Byte B = Convert.ToByte((color >> 0) & 255);二、ARGB转为int1 int argb = color.A << 24;2 argb += c 阅读全文

posted @ 2012-07-12 10:43 漫游GIS 阅读(1067) 评论(0) 推荐(0)

摘要:http://www.haogongju.net/art/1394761-C#初学者经常被问的几道辨析题,值类型与引用类型,装箱与拆箱,堆栈,这几个概念组合之间区别,看完此篇应该可以解惑。 俗话说,用思想编程的是文艺程序猿,用经验编程的是普通程序猿,用复制粘贴编程的是2B程序猿,开个玩笑^_^。 相信有过C#面试经历的人,对下面这句话一定不陌生: 值类型直接存储其值,引用类型存储对值的引用,值类型存在堆栈上,引用类型存储在托管堆上,值类型转为引用类型叫做装箱,引用类型转为值类型叫拆箱。 但仅仅背过这句话是不够的。 C#程序员不必手工管理内存,但要编写高效的代码,就仍需理解后台发生的事... 阅读全文

posted @ 2012-07-10 15:03 漫游GIS 阅读(324) 评论(0) 推荐(0)