0

我正在寻找优化一些 C# 代码,我很好奇我的优化器是否会执行任何复制省略,如果是的话是哪种。我无法通过谷歌搜索找到有关此的任何信息。如果不是,我可能想切换我的方法以通过引用获取结构参数。我关心的环境是 Unity 3D,这很奇怪,因为它使用 Mono 2.0 运行时或 Unity 的IL2CPP 转译器(我可能应该直接问他们,因为它是封闭源代码的。)但了解微软的优化器会很有趣以及,如果标准通常允许这种类型的优化。

旁注:如果优化器不支持这一点,如果我能获得与 C++ const ref 等效的内容,那就太好了,但似乎 this doesn't exist

4

1 回答 1

1

我可以代表 IL2CPP,并说它不会做任何事情来通过引用获取结构参数。即使无法访问 IL2CPP 源代码,您也可以通过检查生成的 C++ 代码来看到这一点。

请注意,C# 结构由 C++ 结构表示,而 C++ 结构是按值传递的。我们已经讨论了在这种情况下使用 const 引用的可能性,但我们还没有实现(我们可能永远不会)。

于 2015-10-28T11:16:38.210 回答