Мне нужно включить некоторые заголовки, первоначально написанные в C в проекте C++. В файлах заголовков используется restrict
keyword, что приводит к синтаксической ошибке для C++.Макрос для удаления ключевого слова `restrict` при компиляции с C++
Я ищу макрос препроцессора, который проверяет, компилирую ли я компилятор C++ и удаляет ключевое слово restrict
в этом случае.
0 «Ограничить» ничто не будет законным даже в C (поскольку препроцессор преобразует источник до того, как компилятор C его увидит), но это не было тем, что предназначалось. –
@AlexeyFeldgendler, поэтому он обернут '#ifdef __cplusplus' ... – SomeWittyUsername
, если вы поместите' # define' в код C++, прежде чем включать заголовки C (вместе с 'extern" C "{' вам понадобится), вам даже не понадобится '# ifdef/# endif'. Попытайтесь быть минимальным инвазивным, то есть не изменяйте свой C-код, потому что кто-то может попытаться использовать lib на C++. Измените код C++. –