Мне нужно написать мои проекты для класса в ISO C++ или C++/CLI, и пока профессор объясняет, как это сделать в Windows, очень сложно узнать, как настроить эквивалент на моем Mac. В настоящее время я запускаю xCode 5.0.2, и, похоже, скомпилировать примеры приложений без проблем с помощью компилятора LLVM 5.0. Я читал, что Apple больше не поддерживает компилятор GCC, так что мой вопрос заключается в эквиваленте двух компиляторов? Будет ли код, который работает в компиляторе GCC, также работать в компиляторе LLVM 5.0?Является ли компилятор LLVM 5.0 эквивалентным компилятору GCC?
ответ
Нет LLVM 5.0. Проект LLVM в настоящее время находится в версии 3.4. Вариант Apple LLVM/Clang, поставляемый с XCode 5, может содержать номер версии, соответствующий версии XCode, но это слегка вводит в заблуждение.
Это говорит о том, что большинство материалов, которые работают с GCC 4.2 (последний, который отправил Apple), будут отлично работать с LLVM/Clang.
C++/CLI, с другой стороны, является фирменной вещью Microsoft, и вы не сможете использовать ее на Mac независимо от того, что и ни GCC, ни Clang не поддерживают ее.
отлично, спасибо! –
Будет ли код, который работает в компиляторе GCC, также работать в компиляторе LLVM 5.0 ?
Если «run» вы имеете в виду «компилирует», тогда да, если ваш код соответствует стандарту.
Погода, а не ваш код Стандартно-complyiant зависит, частично, от того, насколько хорошо ваш профессор выполняет свою работу.
В основном. Совместимость с GCC является одной из основных целей Clang (см. http://clang.llvm.org/features.html#gcccompat). Тем не менее, вы можете установить gcc через MacPorts, http://www.macports.org/, если вам это действительно нужно.
спасибо за подсказку с MacPorts! –
- 1. iOS xCode5 Неподдерживаемый компилятор 'com.apple.compilers.llvmgcc42' ошибка, когда компилятор установлен в LLVM 5.0
- 2. Является ли следующее объединение эквивалентным?
- 3. Является ли DateTimeOffset.UtcNow.DateTime эквивалентным DateTime.UtcNow?
- 4. Является ли #define эквивалентным функции?
- 5. Является ли Rfc2898DeriveBytes эквивалентным PKCS5_PBKDF2_HMAC_SHA1?
- 6. Является ли System.Windows.Forms.BindingSource эквивалентным QSortFilterProxyModel?
- 7. Является ли UrlHelper.Action эквивалентным UrlHelper.RouteUrl?
- 8. Является ли IntPtr.Zero эквивалентным нулю?
- 9. Является ли # {} всегда эквивалентным to_s?
- 10. Является ли этот Swift эквивалентным?
- 11. Является ли iframe эквивалентным окну?
- 12. Заменяется ли GCC на LLVM?
- 13. Преобразование скрипта сценария GCC в LLVM 3.0 Компилятор
- 14. Подсказки к компилятору с использованием llvm
- 15. frontend to LLVM-based компилятор
- 16. GCC эквивалент llvm-link
- 17. Является ли компилятор gcc C написанным на языке C?
- 18. Является ли модуль Ruby эквивалентным интерфейсу Java?
- 19. Является ли ForkJoinPool.commonPool() эквивалентным без пула?
- 20. Является ли Scala эквивалентным функции предиката?
- 21. Является ли e1 && e2 эквивалентным e2 && e1?
- 22. LLVM: биткод с llvm-gcc (mingw) для окон
- 23. MinGW как надежный 64-разрядный компилятор GCC
- 24. Является ли компилятор GNU Java (GCJ) мертвым?
- 25. OS X select llvm gcc compiler
- 26. Портирующий компилятор с x86 Сборка на LLVM
- 27. Является случайным.expovariate эквивалентным пуассоновскому процессу
- 28. сравнение производительности - gcc и llvm-gcc
- 29. Отсутствует рабочий компилятор LLVM bitcode
- 30. Можно ли сообщить компилятору (msvc, gcc) оставить отдельный регистр?
Различные компиляторы могут иметь несовместимые языковые расширения, но если вы придерживаетесь стандарта, вы не должны беспокоиться об этом. GCC и Clang неплохо соответствуют стандарту. – SirDarius
Чтобы расширить комментарий от SirDarius, Clang также реализует некоторые расширения GCC, возможно, даже достаточно, чтобы скомпилировать исходный код ядра Linux (который использует довольно много расширений GCC)? Фактически, компилятор Intel C сознательно реализовал многие расширения GCC, чтобы иметь возможность компилировать ядро Linux. –