Linker 链接过程中警告不推荐使用的函数?

Linker 链接过程中警告不推荐使用的函数?,linker,solaris,ld,Linker,Solaris,Ld,在Linux上,您可以很容易地告诉链接器在链接函数时发出警告,例如: static const char blah_msg[] __attribute__((section(".gnu.warning.blah"))) = "blah() is deprecated. Use blub()."; 如何在Solaris 10上实现此警告行为 (即使用Solaris Studio和Solarisld)根据: 不推荐(msg) 如果变量或函数在源文件中的任何位置使用,则会导致警告。可选参数m

在Linux上,您可以很容易地告诉链接器在链接函数时发出警告,例如:

static const char blah_msg[] __attribute__((section(".gnu.warning.blah"))) =
    "blah() is deprecated. Use blub().";
如何在Solaris 10上实现此警告行为

(即使用Solaris Studio和Solaris
ld

根据:

不推荐(msg)

如果变量或函数在源文件中的任何位置使用,则会导致警告。可选参数msg必须是字符串,如果发出警告消息,它将包含在警告消息中

怎么样

cc -V
根据这一点:


该站点至少需要30个字符-所以这里是这样:我写了一些东西…sheesh

对不起,但我问了Solaris链接器团队,Solaris
ld
无法做到这一点-使用编译器不推荐属性是最接近您所能做到的。

这并不能回答问题。对于不推荐使用的属性,警告来自编译器,即它是在编译时发出的。它不会在链接时发出。因此,头文件中的声明必须设置此属性。与此相反:当有人使用私有函数声明(即缺少任何属性的声明)时,也会发出链接器警告。
cc-V
是否回答了这个问题?命令
cc-V
打印编译器的版本。。。链接文章描述了
deprecated()
属性(已添加到Solaris Studio 12.4中)-该属性已由Andrew发布-这也没有提供问题的答案。有关详细信息,请参阅我对Andrew帖子的评论。