Есть, правда, ещё один аспект, не прямо связанный, но очень близко лежащий: ребилдинг старого проекта (будем говорить о С++), когда нужно сделать "римэйк" проекта, скажем: был под Windows - стал под Linux (или всеплатформенным).Olej писал(а): - Если проект создаётся "с нуля" - вы закладываете изначально требования кроссплатформенности, и всё у вас будет ОК. Сейчас для этого уже существует достаточно инструментов, и такая разработка не более трудоёмкая, чем моноплатформенная (во! "термин" дал ).
...
- Но если проект уже завершён, на него затрачены время, усилия и ресурсы... Тогда нужно искать пути динамической переносимости и дать ему 2-ю жизнь. Так, например, весь xUSSR эксплуатирует 1С:Бухгалтерия : и тратиться на покупки не надо, и налоговая инспекция с проверками лицензионной чистоты не нагрянет ... ну, почти
Здесь тоже есть новинки...
Связанные с проектом LLVM (Low Level Virtual Machine) и компилятором Clang (проект идёт с 2007г., но очень активно).
Возможности анализа кода разбираемого проекта сильно возрастают при использовании парсеров Clang - Clang API. Начало:
Примеры кода реализации приведены там же.Сейчас с уверенностью можно утверждать, что времена самописных C++-парсеров постепенно отходят в прошлое. На сцену медленно, но неумолимо выходит clang — полноценный C++-фронренд и компилятор, предоставляющий своим пользователям богатое API. С помощью этого API можно распарсить исходный текст на C/C++/Objective C, и вытащить из него всю необходимую информацию — от простого лексического значения токенов, до таблицы символов, AST-деревьев и результатов статического анализа кода на предмет всяких разных проблем.
P.S. Но это только примеры, со сборкой его придётся сильно повозиться!