Size: a a a

2020 May 16

IL

Ignat Loskutov in pro.cxx
(вообще мне это не видится такой уж большой проблемой и я был бы очень рад, если бы ABI сломали, но зато передача unique_ptr по значению заработала без оверхеда относительно сырого указателя например)
источник

AM

Alexander Malkov in pro.cxx
Constantine Drozdov
Да, а можете объяснить, в чем вообще проблема со сменой ABI
ну, предположим, есть какие-то библиотеки, которые очень старые, не поддерживаемые, но они уникальные и более того, остались только бинари)
источник

AM

Alexander Malkov in pro.cxx
на некоторых серверах до сих пор ubuntu 14.04, которые так же требуют поддержки и обновление сервисов, но если сломать ABI то залить туда новые сервисы будет сложно, придется пользоваться старыми компиляторами.
источник

AM

Alexander Malkov in pro.cxx
Но я сам, за смену ABI, чем быстрее мы войдем в новую эру, тем лучше это будет для всех..
источник

CD

Constantine Drozdov in pro.cxx
Alexander Malkov
на некоторых серверах до сих пор ubuntu 14.04, которые так же требуют поддержки и обновление сервисов, но если сломать ABI то залить туда новые сервисы будет сложно, придется пользоваться старыми компиляторами.
а насколько для компиляторщиков с legacy проблема поддерживать старую версию?
источник

CD

Constantine Drozdov in pro.cxx
почему это не решается на уровне -flegacy? там же миллион таких вещей тащится
источник

AM

Alexander Malkov in pro.cxx
потому что эти вещи могут быть очень неочевидными..
источник

AM

Alexander Malkov in pro.cxx
например несколько реализаций std::string
источник

AM

Alexander Malkov in pro.cxx
в старой библиотеки используется старая реализация std::string со своей аллокацией и интерфейсами, а в программе новая реализация, поэтому может возникнуть конфликт при использовании и самое страшное, когда такой конфликт происходит не на стадии компиляции, не на стадии линковке, а выясняется в рантайме
источник

AM

Alexander Malkov in pro.cxx
может быть я не совсем корректные даю разъяснения, в рамках своего понимания, если что, надеюсь меня поправят)
источник

IL

Ignat Loskutov in pro.cxx
Alexander Malkov
на некоторых серверах до сих пор ubuntu 14.04, которые так же требуют поддержки и обновление сервисов, но если сломать ABI то залить туда новые сервисы будет сложно, придется пользоваться старыми компиляторами.
ну вообще хоть на практике и оказывается, что бинари, собранные на buster стандартным тулчейном, запускаются (как правило) на stretch, собирать таким образом прод — ковбойство то ещё
источник

AM

Alexander Malkov in pro.cxx
Ignat Loskutov
ну вообще хоть на практике и оказывается, что бинари, собранные на buster стандартным тулчейном, запускаются (как правило) на stretch, собирать таким образом прод — ковбойство то ещё
согласен)
источник

AM

Alexander Malkov in pro.cxx
Хмм.. По поводу Networks TS, как я понимаю, они напрямую зависят от Executors?
источник

AZ

Alexander Zaitsev in pro.cxx
Alexander Malkov
Хмм.. По поводу Networks TS, как я понимаю, они напрямую зависят от Executors?
Да
источник

IZ

Ilia Zviagin in pro.cxx
Igor
возьмём линукс, я правильно понимаю что сейчас перенос бинарей , собранных разными (версиями) компиляторов работает просто потому что все придерживаются негласного стандарта?
Он не работает же....
источник

IZ

Ilia Zviagin in pro.cxx
Alexander Malkov
ну вот, на днях, выкатывал один проект на прод и там была необходима линковка к одной библиотеке, уже скомпилированной, для начала скомпилировал все через GCC, компиляция прошла без ошибок и варингов, а вот на стадии линковки пошли ошибки.. пробовал разные ключи, последовательность линковки - никак, причем, что на моей машине, все норм работает, в итоге просто взял и скомпилировал через CLang, запустилось с первого раза, без единой проблемы..
Вот жаль, что ты не докопался до истины
источник

IZ

Ilia Zviagin in pro.cxx
Igor
возьмём линукс, я правильно понимаю что сейчас перенос бинарей , собранных разными (версиями) компиляторов работает просто потому что все придерживаются негласного стандарта?
Но string в GCC ломали один раз уже, да...
источник

IZ

Ilia Zviagin in pro.cxx
Alexander Malkov
Поэтому, проблема совместимости она и сейчас актуальна..!
Ребята, нет никакой проблемы с совместимостью, просто нет совместимости...
источник

IZ

Ilia Zviagin in pro.cxx
Alexander Malkov
ну, предположим, есть какие-то библиотеки, которые очень старые, не поддерживаемые, но они уникальные и более того, остались только бинари)
Что за ужас ты говоришь...
источник

IZ

Ilia Zviagin in pro.cxx
Alexander Malkov
например несколько реализаций std::string
Так в чем проблема? Взял код, собрал под этот компилятор. Надо по другой- собрал под другой...
источник