#c #build
#c #сборка
Вопрос:
Я рассматривал возможность создания локатора служб, который я также хотел бы предоставить «НУЛЕВЫЕ» реализации предоставляемых им сервисов. Как бы вы проанализировали интерфейс и автоматически сгенерировали реализацию? Какие инструменты вы бы использовали — скажем, с CMake? В принципе, я пытаюсь избежать необходимости писать что-то вроде:
class IAudio
{
virtual void playSound(SoundId Id) = 0;
....
};
***** Following is the boilerplate I would like to avoid *****
class NullAudio : IAudio
{
void playSound(SoundId) override { /* Does Nothing */ }
....
};
Кажется, я не могу найти ни одного примера из моих поисковых запросов Google для автоматической генерации кода — все они обнаруживают вещи, которые ссылаются на завершение кода в редакторах. Я бы даже подумал о запуске скрипта python, который ищет файлы, начинающиеся с I — like iAUDIO.hpp , анализирует его и записывает файл, если это обычный способ сделать это.
Спасибо!
Комментарии:
1. Хорошо — итак, почему отрицательные голоса? Я пытался исследовать все места, которые я знал, чтобы посмотреть — как я уже сказал — я продолжал получать статьи и вопросы о завершении кода в IDE. Что неясно в вопросе?
Ответ №1:
Думаю, я понял это. Напишите небольшой инструмент, чтобы делать то, что я хочу, настройте CMake для его первой компиляции, а затем попросите CMake запустить инструмент с помощью add_custom_command .