如果我有一个 function A()
,我有兴趣找到一种方便的方法来创建一个B()
与 具有完全相同功能的函数A()
,只是名称不同。新功能将是一次性使用。目的是在一个有点原始的采样分析器中区分对同一函数的调用,并且复制的函数将仅在此上下文中使用。也就是说,它永远不会接触生产代码,只用于修补。
首先猜测是一个宏,它声明了一个名为的函数B
并在其中创建了一个内联调用A()
。这里的问题是我不知道 GCC 中有一种方法可以强制任意函数调用内联;似乎所有内联选项都用于函数声明而不是调用。
使用模板可能有一些深奥的方法,或者可能通过欺骗编译器进行内联。我不确定这是否可能。有什么想法吗?不幸的是,新的 C++ 标准不可用,如果它会有所作为的话。