会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
信息交流、传播、提炼
nice to meet you
博客园
首页
新随笔
联系
订阅
管理
公告
c#加/unsafe编译开关生成的程序运行效率较高
因为c#要求变量使用前必须初始化,而init标记的局部变量块又会在执行函数体前清零。不加/unsafe开关时,c#编译器生成可校验的IL代码,所有的局部变量块都有init标记,也就是说所有的局部变量(包括表达式中间结果产生的隐士变量)都被清零两遍。加/unsafe开关后,同Managed C++生成的代码一样,不加init标记。
init标记是CLR安全代码要求的,这个应该是CLR和c#规范冲突的地方,但却和Basic很般配,反而使Basic程序比c#更有效率。
posted on
2007-08-28 23:49
seeyou
阅读(
951
) 评论(
0
)
收藏
举报
刷新页面
返回顶部
博客园
© 2004-2025
浙公网安备 33010602011771号
浙ICP备2021040463号-3