【发布时间】:2019-08-13 13:06:53
【问题描述】:
我知道如何通过使用将枚举/函数标记为已弃用
__attribute__ ((deprecated))。但是我怎样才能标记常量宏
已弃用?
#define MACRO1 4 //This is deprecated macro
【问题讨论】:
-
宏是否在任何常量表达式上下文中使用?你知道
__attribute__((deprecated))只适用于 gcc(和类似的)编译器。 -
相关,如果有点旧:stackoverflow.com/questions/2681259/… 我认为它并不是真正的重复,因为它要求 GCC 特定的答案。这个问题需要更一般的答案。考虑到经过的时间,这里有明显的机会获得更新、更好的答案。
-
@KamilCuk,该宏在代码中使用,但未在其他宏中使用。我的意思是没有其他宏依赖于这个宏。
-
请问宏是像
struct A { char field : MACRO1; }还是static char arr[MACRO1];一样,作为常量表达式使用。 -
确实是非常好的问题。
标签: c