__FUNCTION__朋友行事怪异的Xcode(__FUNCTION__ and friends

2019-09-18 08:40发布

这工作

printf("%s body\n",__PRETTY_FUNCTION__);

但是,这并不(错误Expected ')' ):

printf(__PRETTY_FUNCTION__" body\n");

我不能让IDE来告诉我该怎么__PRETTY_FUNCTION__计算结果为,以确定为什么它不工作。

Answer 1:

__PRETTY_FUNCTION__不是宏 。 它的行为就像在功能范围的动态创建一个静态变量。

上面链接中的最后一段写道:

这些标识符是不预处理宏。 在GCC 3.3和更早,在C只, __FUNCTION____PRETTY_FUNCTION__被当作字符串文字; 它们可以被用来初始化字符数组,并且它们可以与其他字符串文字被级联。 GCC 3.4,后来把他们当作变量,如__func__ 。 在C ++中, __FUNCTION____PRETTY_FUNCTION__一直变量。



文章来源: __FUNCTION__ and friends act weird in Xcode