代码:
printf( "%s", __builtin_return_address(0));
警告:
格式'%s'期望类型' char *',但参数2的类型为' void
附注我一直在试验一些注册关键字..也许上面的命令会提供一些信息,如果它有效。
答案 0 :(得分:4)
根据gcc.gnu.org,函数语法:
void * __builtin_return_address (unsigned int level)
函数返回void*
。因此,请使用%p
格式说明符而不是%s
。
答案 1 :(得分:2)
如果要打印地址,则需要相应的说明符,
printf("%p\n", __builtin_return_address(0));
应该有用。