Могу ли я использовать clang для синтаксического анализа кода C, даже если я должен использовать RTTI в своем собственном исходном коде? - PullRequest
2 голосов
/ 13 ноября 2011

Я пишу программу на C ++, где мне нужно иметь возможность анализировать код C в AST, выполнять над ним некоторые операции и затем преобразовывать его обратно в строковое представление. Почти на все подобные вопросы, которые я читал, ответ «используй лязг».

Однако, согласно http://amnoid.de/tmp/clangtut/tut.html, флаг -fno-rtti, очевидно, должен быть предоставлен при компиляции кода, использующего clang, но я использую такие функции, как виртуальные функции и объекты приведения вниз, используя dynamic_cast в моем собственный код Есть ли еще способ использования clang или мне нужно прибегнуть к другой библиотеке?

Ответы [ 2 ]

3 голосов
/ 13 ноября 2011

Clang сам должен быть скомпилирован с -fno-rtti, но я не верю, что есть какие-либо требования для -fno-rtti, когда вы используете clang для компиляции (или просто построения AST из) другого кода .

0 голосов
/ 13 ноября 2011

Либо перекомпилируйте Clang с включенным RTTI, либо создайте его как общую библиотеку (хотя в этом я не совсем уверен).

...