C /CLI思辨录之传递托管堆地址
2008-02-23 05:05:34来源:互联网 阅读 ()
下面代码展示了别针型指针的应用。
#pragma unmanaged //本机函数,以整型指针作参数,执行计算 void calc(int* val) { //执行计算操作 } #pragma managed //托管函数调用本机calc函数 int managedfunc() { int i=gcnew int(10); //把i的地址配置为别针型,以阻止对i的移动 pin_ptr<int> ppi=&i; int* np=ppi; calc(np);//用别针型int的地址调用本机函数 //把别针型指针的值置为nullptr,脱离了gc的限制 ppi=nullptr; //完成剩下的工作 return i; } |
基于轮廓的优化(Profile Guided Optimization)
在新版本的托管C 中有一项新增功能称为基于轮廓的优化。这一新的编译特点能够实现在编译时刻把探针注入到代码中。最后的exe文档和一个数据库一起打包发送,由该库记录下注入代码中的探针监测到的结果数据。当用户运行该程式时,这些探针记录下应用程式的使用。当您下一次再编译时,编译器作出智能性决策,如根据探针的记录作为相应的动作。这一特性带来了真实世界的优化。
为什么没有为使用托管类型而定义头文档?
在传统的C 中,一个头文档一般包含对象的接口,或类和函数的声明,等等。这允许在多个翻译单元上实现某种类型的一致性声明。对于一个用托管代码编写的且其被编译成MSIL的对象,需要在配件集中包含描述对象的元数据。因而,托管C 编译器不是通过头文档,而是通过使用配件集元数据来实现接口的读取。这就是为什么您不必因使用托管类型而包含头文档。事实上,您能够通过使用#using指令来让编译器从配件集中读取元数据。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: C /CLI思辨录之再谈继承
下一篇: Visual C 实现数字化图像的分割
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash