Какая альтернатива ключевому слову extern в CppUTest?

Я использую CppUTest в eclipse-cdt(Ubuntu 14.0). Для наследования функции C в CppUTest я должен написать,

extern "C" {
}

Есть ли альтернатива для наследования всего проекта C в Cpp для CppUTest?

Каковы недостатки extern в CppUTest?

1 ответ

Ну, одна "альтернатива" - это, конечно, extern "C" объявления в заголовки вашего C-проекта, защищенные #if defined __cplusplus конечно. Это, однако, будет означать, что вы должны пройти весь проект и исправить его. Звучит так, как будто проще было бы выполнить вышеописанное в тестовом коде, где вы используете C++.

Многие люди делают это, чтобы сделать свой C-код пригодным для использования из C++. Лично я думаю, что это немного "грязно", так как вы смешиваете языки ( "не переходите потоки!"), Но это все еще очень распространено.

Смотрите этот вопрос для большого обсуждения по этому поводу.

Другие вопросы по тегам