26得票11回答
编译器何时对函数进行内联处理?

在C++中,只有在函数被显式声明为inline(或在头文件中定义)时,函数才会被内联,还是编译器可以根据需要自行内联函数?

8得票2回答
C#中的内联扩展

我正在为我的C# DirectX 3D引擎开发一个数学库。我使用了一个非常好的库叫做SlimDX, 它提供了很多数学类,但它们实际上是原生D3DX对象的包装器。虽然这些对象本身非常快,但是Interop不够快,因此我的托管C#代码比它们执行得更快。 我的具体问题与浮点数比较有关。一种比较普遍...

42得票5回答
什么条件下CLR可以将方法内联?

我观察到许多应用程序中存在很多"堆栈内省"的代码,这些代码通常会隐式依赖于其包含方法不被内联以确保其正确性。这些方法通常涉及以下调用: MethodBase.GetCurrentMethod Assembly.GetCallingAssembly Assembly.GetExecuting...

37得票2回答
防止JIT在方法上进行内联

我有一个比较独特的情况。我一直在开发一个用于发送电子邮件的开源库。在这个库中,我需要可靠地获取调用方法。我通过分析StackTrace中的StackFrame对象来实现了这一点。在关闭优化的调试模式项目中,这可以正常工作。 问题出现在我切换到开启优化的发布模式时。堆栈跟踪看起来像这样:&gt...

11得票2回答
Android Proguard无法内联代码

我正在使用最新的 Android SDK(4.1),并尝试使用启用了 Proguard 的签名 jar 进行导出。然而,在反编译经过优化的 APK 后,我注意到那些我本来希望被内联的方法却没有被内联。 我知道 Proguard 已运行,因为代码已正确混淆。因此,为了确认这一点,我向我的 Ac...

21得票2回答
如何在Haskell中使用内联的相位控制?

文档表示, 有时候你需要精确地控制在 GHC 的管道中何时打开 INLINE pragma。 为什么我会需要这样做呢?(除非我同时使用 RULES pragma,在这种情况下,我可能需要推迟函数的内联,以便让关联的规则被触发。)哪些类型的函数最好只在简化过程的特定阶段内内联?

9得票3回答
C/C++编译器是否有办法内联C回调函数?

如果有一个像C-Stdlib中的qsort()一样接受C函数指针作为回调函数的典型函数,是否有任何编译器可以使用内联来优化代码?我认为它不能,这正确吗? int cmp(void* pa, void* pb) { /*...*/ } int func() { int vec[1000];...

62得票3回答
函子是否比函数指针更快?

根据Scott Meyers的说法,C++比C更擅长的一个领域是函数对象比函数指针更快。他说这是因为函数对象被内联了,这增加了速度。 我有两个问题: 我们如何验证函数对象是否真的被内联了?我们可以在实践中验证吗? 函数对象的内联是否取决于我们使用的编译器,还是所有编译器都像这样执行? ...

10得票1回答
让LLVM内联库中的一个函数

我正在尝试让 LLVM 内联一个库中的函数。 我有手动生成的 LLVM 位代码文件,使用 llvm-link 连接在一起,并且我也有一个 C 语言库(使用 clang 编译为位代码,并用 llvm-ar 存档)。我成功地将它们全部链接在一起并执行了程序,但是我无法让 LLVM 内联来自库中的...

29得票8回答
使用C#内联CSS

我需要在C#中从样式表中内联CSS。 就像这个例子一样。 http://www.mailchimp.com/labs/inlinecss.php 这个CSS很简单,只有类,没有花哨的选择器。 我正在考虑使用正则表达式(?<rule>(?<selector>[^{...