.NET平台调用性能优化

来源:互联网 发布:手游防御矩阵攻略 编辑:程序博客网 时间:2024/04/30 06:21

版权所有,转载请注明出处:http://guangboo.org/2013/05/28/dot-net-platform-invoke-performance

.NET出现以前,很多成熟的库是采用C/C++,或COM的形式存在于各个应用程序中,这些库或程序已经运行了很长时间,并且非常稳定,成熟。.NET提供了多种方法可以在托管代码中调用非托管的代码,但是调用的性能要很多损失,为尽量优化平台调用的性能,这里介绍几个注意点。

  1. 尽量减少对非托管代码的调用,因此尽量避免在循环体中调用非托管代码,而应尽量将整个循环体写到非托管代码中,即一次平台调用来完成尽量多的任务;
  2. DllImportAttribute属性指定的dll路径,可以尽量放在程序根目录上,因为.NET搜寻在根目录下查找dll文件,然后到windows系统目录下面搜索,最后到PATH环境变量下所有目录下搜索,如果还没有找到就会抛出DllNotFoundException;
  3. 如果明确调用的函数名,因使用ExactSpelling=True标识,因为,如果调用MessageBox函数时,如果没有找到该函数,.net就会尝试搜索MessageBoxA或MessageBoxW,具体搜索哪一个,是根据DllImportAttribute属性中CharSet决定的,如果CharSet设置为CharSet.Ansi则搜索MessageBoxA,如果是CharSet.Unicode则搜索MessageBoxW;
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 单位不支付病假工资怎么办 一年级学生上课注意力不集中怎么办 一年级学生的理解能力差怎么办 一年级学生学习太差怎么办 宝宝屁眼破皮怎么办啊 九个月婴儿不爱喝奶怎么办 十一个月婴儿发烧怎么办 四个月宝宝睡不踏实怎么办 5个月宝宝瘦了怎么办 宝宝只吃迷糊奶怎么办 宝宝五个月了不吃奶粉怎么办 1岁婴儿入睡困难怎么办 怀孕五个月胎儿肾积水怎么办 15个月宝宝总喊怎么办 学业水平考试有d怎么办 买了水果碰见领导怎么办 高一孩子不愿意上学怎么办 专家解答 孩子不愿意上学怎么办 冬天脚冷怎么办膝盖疼 拉拉裤大了怎么办小妙招 孕37周翻身困难怎么办 晚上睡不好白天犯困怎么办 抑郁症又不想起床了怎么办 儿童憋尿功能太差怎么办 一个月的宝宝睡眠不好怎么办 被商场要求撤场怎么办 上班没法接孩子放学怎么办 幼儿下午放学与上班错开怎么办 宝宝早上醒的早怎么办 晚卜睡不着尿多怎么办 要求正常休息公司不准怎么办 我早起被室友说怎么办? 小孩晚上睡的晚怎么办 初中一年级学不扎实怎么办 一年级学生上课爱说话怎么办 孩子不按时完成作业怎么办 高三理科基础不好怎么办 字写快了就难看怎么办 高一文科280分怎么办 高三了学不进去怎么办 副职兼任法人不够条件怎么办