避免双thunking用C++/CLI的性质
-
01-07-2019 - |
题
我读(在完成Sivakumar的书 C++/CLI在行动 在其他地方),应使用__clrcall装饰在功能的电话,以避免双thunking,在情况下在哪里你知道的方法将永远不会被称为从未管理的代码。Nish还说,如果签名方法包含任何CLR类型,然后JIT编译器将会自动添加__clrcall.什么是我不清楚的是,如果我需要包括__clrcall当我创造C++/CLI的性质。在某种意义上说,属性只能从。网络语言,另一方面C++/CLI compiler(I think)只产生的方法(例如***_get()),可从两个管理和无管理的代码。所以我需要使用__clrcall剂在我的特性,并如果可以,哪里去了?在get/set功能自己?
解决方案
@B迈克-谢谢你的提示在ildasm-我不知道关于那个工具。
它的出现,我误解/误解了完成的-__clrcall修改和双thunking问题,它不仅适用于方法的本地课程。所有的方法管理类__clrcall默认情况下--这似乎是显而易见,在回想起来。
显然马库斯Heege的书 专家C++/CLI 可是 作为一个免费下载, 和它有一个很好的表上,第215页,总结了调用公约。
不隶属于 StackOverflow