注意:在宏扩展中 'A_MACRO'

note: in expansion of macro 'A_MACRO'

使用 gcc:

构建时,我有数百个这样的警告
foo.c:2690:5: note: in expansion of macro ‘PUT_UINT32’
     PUT_UINT32(state, digest,  0);

我怎样才能摆脱它们?

-w 还隐藏了我仍想看到的警告

我假设您使用的是 clang:当 clang 在从宏扩展的代码中检测到错误或警告时,它会为扩展导致违规代码的每个宏输出一行。修复最终代码中的错误和警告,这些消息将消失。