我正在尝试使用sed删除所有出现的
#ifdef _WIN32
#endif
Run Code Online (Sandbox Code Playgroud)
#ifdef和#endif之间存在的所有内容都是空行.我使用sed的经验有限,我已经阅读了关于多线功能的一些文档,但我似乎无法弄明白.任何帮助表示赞赏!
对于这项工作,我建议使用专为该工作设计的工具 - 而不是sed
.
使用科恩;它有一个选择性编辑#ifdef
和#ifndef
和#if
和#elsif
行的模式。例如,您可以使用:
coan source -U_WIN32 sourcefile.c
Run Code Online (Sandbox Code Playgroud)这将处理所有_WIN32
部分,只留下必要的部分。
另请参阅我的相关问题:是否有一个 C 预处理器可以根据已定义/未定义的值消除 #ifdef 块?