Можно ли ввести код в модуль перевода непосредственно перед компиляцией - PullRequest
1 голос
/ 25 августа 2011

Я строю свою кодовую базу C ++ с MSVC ++ 2008 и 2010. Можно ли вообще получить модуль перевода, проанализировать его, вставить необходимый код, если необходимо, и затем перейти к процессу компиляции?Исходный исходный код не должен быть затронут.

Конечно, он должен быть прозрачным для разработчика, который создает проект.Наконец, это повлияет только на объектные файлы.Визуальная студия очень мощная.Я предполагаю, что для этого должен быть какой-нибудь API плагинов или хуков.Пожалуйста, дайте мне подсказку.

1 Ответ

0 голосов
/ 26 августа 2011

Я не верю это возможно, как вы описываете, хотя я не знаю наверняка. Это было бы, конечно, нетривиально. Единственный похожий проект, который приходит на ум - это OpenMP , но у меня сложилось впечатление, что именно Microsoft реализовала его версию.

Я мог видеть шаблонный движок, такой как Cheetah достаточный. Вы, вероятно, отказались бы от своих наворотов, таких как завершение кода и интеллектуальный смысл.

По сути, вы должны настроить файлы на использование собственного компилятора для генерации нового кода в другом файле. Компилятор C ++ затем скомпилирует сгенерированные файлы. Я не думаю, что это будет элегантно или приятно, если быть откровенным.

Я использовал CMake, чтобы делать подобные вещи, хотя я не предназначался для него как общий инструмент. Я написал один раз для генерации контента.

Возможно, если вы на самом деле опишите некоторые особенности того, что вы хотите сделать, мы можем предложить лучшее решение.

...