在GCC中使用头文件中定义的C++方法,是否可以使用属性语法?请有人为我提供一个例子.以下代码不起作用:
class foo
{
public:
void my_func() __attribute__((hot));
void my_func()
{
// Some stuff
}
};
Run Code Online (Sandbox Code Playgroud)
看起来你必须把属性放在声明中,而不是放在函数的定义中.在头文件中定义方法/函数时,您没有单独的声明.
另外如何在模板中使用它.例如,以下代码无法使用'错误进行编译:函数定义中不允许使用属性'.
/// Template version of max for type T
template <typename T>
inline T max(const T x, const T y) __attribute((const))
{
if (x > y)
return x;
else
return y;
}
Run Code Online (Sandbox Code Playgroud)