Мне нужно подавить много предупреждений MSVC в некотором коде C ++.
До:
//...
#include <atomic>
//...
После:
//...
#pragma warning(push)
#pragma warning(disable : 4995)
#include <atomic>
#pragma warning(pop)
//...
Я пытаюсь использовать sed для этой цели:
sed -b -r -i "s;(\s*#include <atomic>.*);#pragma warning(push)\n#pragma warning(disable : 4995)\n\1\n#pragma warning(pop);" macarena.h
Просто заменяет1 строка с 3. Но я хочу запустить этот скрипт несколько раз.Как проверить, соответствует ли предыдущая строка #pragma warning(disable : 4995)
, и игнорировать текущую строку, если это так?