Есть ли что-то вроде libtcc для C ++, или очень быстрый компилятор C ++?

голоса
2

Существует очень хороший компилятор КТС и его библиотека libtcc, что позволяет осуществлять прямую компиляцию кода внутри кода. т.е. Позволяет создавать самообразующийся код.

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

Есть ли что-нибудь подобное?

Платформа UNIX, ELF. Linux только в порядке, а также.

Задан 19/05/2009 в 12:51
источник пользователем
На других языках...                            


3 ответов

голоса
0

Вы можете попробовать с компилятором от Intel . Gloogling это, кажется , известно, что быстрее г ++ во время компиляции и оптимизации это обеспечить в результате двоичной системы .

Кроме того, вы можете попробовать повторно компиляции «г ++» двоичный из исходных текстов, и запрашивающий оптимизации для хост-машины вы ориентируетесь. Может быть, она могла бы сделать это быстрее, чем компилировать какой-либо код (?)

Какое бы решение ни вы выбираете, я советую вам сохранить тот же компилятор для вашего приложения и ваш «плагин». В противном случае я подозреваю, что некоторые проблемы ABI, которые могут возникнуть при использовании 2 различных компиляторов в одном проекте приложения. (Я только подозреваю ... Как меня никогда не было таких проблем, но просматривающие SO вопросы, я уже видел такие вопросы, для других ...)

Ответил 19/05/2009 в 13:23
источник пользователем

голоса
0

Вы можете проверить LLVM . Это промышленный сила компилятор ( которые должны быть включены в НКУ) , разработанный Apple , и с широкой поддержкой, и пользуется большим успехом в различных средах JIT , как вы описали.

Ответил 23/05/2009 в 05:26
источник пользователем

голоса
0

Используйте system()для вызова c++или libtoolдля получения вашего .so.

г ++ -O1 довольно быстро, особенно если вы используете скомпилированный заголовок для строительства.

Ответил 27/01/2010 в 17:31
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more