Вариант для распечатки |
Пред. тема | След. тема | ||
Форум Программирование под UNIX (Компиляция) | |||
---|---|---|---|
Изначальное сообщение | [ Отслеживать ] |
"Clang vs Gcc: две компиляторных системы в одном дистрибутиве" | +/– | |
Сообщение от sidtver (ok), 08-Окт-20, 13:50 | ||
Компилятор - это помимо собственно фронтенда/оптимизаций/кодогенератора еще binutils, библиотеки runtime-поддержки и стандартные библиотеки. У gcc - это, например, gas/ld, glibc, libstdc++. По мере своего развития длительное время компилятор clang использовал binutils и библиотеки от компилятора gcc. Но разработчики clang последовательно движутся к полной замкнутости своего проекта. У них есть свой ассемблер (llvm-as), они активно развивают свой линкер, сделали свой аналог libstdc++ с названием libc++ и разрабатывают свой аналог glibc с названием libc. Наличие стандарта C/C++ должно гарантировать компиляцию программ обоими компиляторами, но никак не гарантирует совпадение хедеров из двух разных реализаций библиотек. (Например, errno может быть переменной, а может быть макросом, раскрывающимся в вызов функции и т.д. и т.п.) У двух независимо-разрабатываемых библиотек неизбежно будут библиотеки без бинарной совместимости. | ||
Ответить | Правка | Cообщить модератору |
Оглавление |
Сообщения | [Сортировка по времени | RSS] |
1. "Clang vs Gcc: две компиляторных системы в одном дистрибутиве" | +/– | |
Сообщение от Аноним (-), 08-Окт-20, 15:06 | ||
Все держу только на gcc и шланги с llvm выпилены напрочь. Но на сколько я знаю, ссылки на библиотечные функции прописаны у эльфов, у меня нет под рукой апы сделаной шлангом но мне что-то подсказывает что там обычный эльф. | ||
Ответить | Правка | Наверх | Cообщить модератору |
16. "Clang vs Gcc: две компиляторных системы в одном дистрибутиве" | +/– | |
Сообщение от sidtver (ok), 08-Окт-20, 23:11 | ||
firefox/rust/llvm | ||
Ответить | Правка | Наверх | Cообщить модератору |
2. "Clang vs Gcc: две компиляторных системы в одном дистрибутиве" | +/– | |
Сообщение от Аноним (2), 08-Окт-20, 16:54 | ||
> В отсутствии стандартов на манглирование, хедеры стандартных библиотек, механизм EH, процессирование шаблонов, ассемблер | ||
Ответить | Правка | Наверх | Cообщить модератору |
3. "Clang vs Gcc: две компиляторных системы в одном дистрибутиве" | +1 +/– | |
Сообщение от Аноним (-), 08-Окт-20, 17:15 | ||
| ||
Ответить | Правка | Наверх | Cообщить модератору |
4. "Clang vs Gcc: две компиляторных системы в одном дистрибутиве" | +/– | |
Сообщение от Аноним (2), 08-Окт-20, 17:44 | ||
> Речь то о том что апа под libc.so собранная gcc уже не будет работать и наоборот. | ||
Ответить | Правка | Наверх | Cообщить модератору |
5. "Clang vs Gcc: две компиляторных системы в одном дистрибутиве" | +/– | |
Сообщение от Аноним (5), 08-Окт-20, 18:01 | ||
| ||
Ответить | Правка | Наверх | Cообщить модератору |
6. "Clang vs Gcc: две компиляторных системы в одном дистрибутиве" | +/– | |
Сообщение от Аноним (2), 08-Окт-20, 18:11 | ||
> Вот инетерсно было бы узнать как там гнутый функционал, есть ли, можно ли на него расчитывать в той реализации от шланга | ||
Ответить | Правка | Наверх | Cообщить модератору |
7. "Clang vs Gcc: две компиляторных системы в одном дистрибутиве" | +/– | |
Сообщение от Павел Отредиез (?), 08-Окт-20, 18:16 | ||
>> когда винду успели пересобрать под icc и mingw? | ||
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору |
9. "Clang vs Gcc: две компиляторных системы в одном дистрибутиве" | +/– | |
Сообщение от sidtver (ok), 08-Окт-20, 22:07 | ||
> Если две разные реализации libc, то их so должны отличаться в названии, | ||
Ответить | Правка | Наверх | Cообщить модератору |
11. "Clang vs Gcc: две компиляторных системы в одном дистрибутиве" | +/– | |
Сообщение от Павел Отредиез (?), 08-Окт-20, 22:19 | ||
>[оверквотинг удален] | ||
Ответить | Правка | Наверх | Cообщить модератору |
14. "Clang vs Gcc: две компиляторных системы в одном дистрибутиве" | +/– | |
Сообщение от sidtver (ok), 08-Окт-20, 22:28 | ||
> Я не говорил, что собирать с одной, а исполнять с другой. Я | ||
Ответить | Правка | Наверх | Cообщить модератору |
8. "Clang vs Gcc: две компиляторных системы в одном дистрибутиве" | +/– | |
Сообщение от Аноним (8), 08-Окт-20, 19:05 | ||
У меня штук 20 разных компиляторов с разными либами стоит, гента. Можно любой системны пакет собрать произвольным системным компилятором любой версии, binutils правда придётся вручную переключать (зачем использовать не последнюю версию?), переключение шланг/гцц вообще без проблем переменной окружения. Проблем не замечал, но я массово и не собираю шлангом -- он всегда хуже при ближайшем рассмотрении (что-то простое он может соптимизировать лучше). Или собрать какой-нибудь пакет и все зависимости с другой libc или вообще для другой архитектуры. В частности, собираю софт для венды, когда я проверял, он потом работал в 7, 8 и 10 на системной libc (без cygwin). | ||
Ответить | Правка | Наверх | Cообщить модератору |
10. "Clang vs Gcc: две компиляторных системы в одном дистрибутиве" | +/– | |
Сообщение от sidtver (ok), 08-Окт-20, 22:14 | ||
> binutils | ||
Ответить | Правка | Наверх | Cообщить модератору |
12. "Clang vs Gcc: две компиляторных системы в одном дистрибутиве" | +/– | |
Сообщение от Аноним (8), 08-Окт-20, 22:22 | ||
Есть binutils-config, который управляет симлинками на используемую системную версию. Её можно переключать, также как и компилятор по-умолчанию (gcc-config). Но компилятор и линкер можно задать переменными окружения вроде CC и LD. | ||
Ответить | Правка | Наверх | Cообщить модератору |
13. "Clang vs Gcc: две компиляторных системы в одном дистрибутиве" | +/– | |
Сообщение от Аноним (8), 08-Окт-20, 22:25 | ||
Ещё можно выставить вот эти, но вроде это излишне, и можно спокойно использовать гнутые | ||
Ответить | Правка | Наверх | Cообщить модератору |
15. "Clang vs Gcc: две компиляторных системы в одном дистрибутиве" | +/– | |
Сообщение от sidtver (ok), 08-Окт-20, 22:40 | ||
> Есть binutils-config, который управляет симлинками на используемую системную версию. | ||
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору |
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |