LINUX.ORG.RU

static vs shared

 , , ,


1

4

Чё-т тема вроде старая, и аргументы обеих сторон известны, но мы с коллегой сегодня ввязались в дискуссию немного. Речь конкретно была о тестовом образе и googletest. Я говорю shared, ибо все остальные либы shared. А его чё-т переклинило, типа а вдруг вот этот конкретный тест нужно будет написать на другой версии gtest'a, которая не совместима с текущей... Я пытался объяснить, что придётся портировать остальные тесты тоже, но чё-то как-то не вышло аргументом. У вас были подобные споры?

★★★★★

Ответ на: комментарий от reedych

А от чего зависит?

UVV ★★★★★
() автор топика

но чё-то как-то не вышло аргументом

скорее, это его аргумент - не вышел.

Безотносительно static-shared, зоопарк версий тулз и либ в проекте - не к добру. Поэтому, при смене версии gtest, vim в руки и портировать тесты, да, если надо.

У вас были подобные споры?

да :) Мне вообще по барабану. CI пусть продукт собирает и static и shared. А использовать лучше shared, конечно, хотя бы из-за времени линковки. (Сейчас у нас всё собирается статиком, но это наследие винды, хоть и сделали кроссплатформ, но до таких мелочей еще не добрались, что бы подправить)

Deleted
()
Ответ на: комментарий от Deleted

CI пусть продукт собирает и static и shared.

За CI мы тоже отвечаем =)

UVV ★★★★★
() автор топика

Курица или яйцо...

erfea ★★★★★
()

googletest - только статик. Гдето было официальное обьяснение что шаренный googletest не имеет смысла. Тоесть физически это возмножно, но безсмысленно.

cvv ★★★★★
()
Последнее исправление: cvv (всего исправлений: 2)
Ответ на: комментарий от cvv

Если ты обоснуешь, мне будет очень интересно. Данный документ опровергает твою теорию https://github.com/google/googletest/blob/master/googletest/README.md

UVV ★★★★★
() автор топика
Последнее исправление: UVV (всего исправлений: 1)
Ответ на: комментарий от UVV

Ну мне както не с руки гуглить те документы снова.

Данный документ опровергает твою теорию https://github.com/google/googletest/blob/master/googletest/README.md

Да ну ... Если вы умеете читать по английски то в секции Build написано что собирать нужно статическую либу ... Да, там дальше внизу написано что желающие могут собрать динамик, но это не значит что динамик рекомендуется.

cvv ★★★★★
()
Ответ на: комментарий от cvv

Если вы умеете читать по английски то в секции Build написано что собирать нужно статическую либу

Серьёзно? Пойду выкину свой сертификат по англйискому.

Ну и я догадываюсь, о какой ремарке ты говоришь, а именно об этой:

# GTest developers recommend to use source code instead of linking
# against a prebuilt library.

Ну так с динамикой и статикой это не имеет ничего общего.

UVV ★★★★★
() автор топика
Ответ на: комментарий от UVV

Ну и я догадываюсь, о какой ремарке ты говоришь, а именно об этой:

Не совсем, но в правильном направлении копаеш

Ну так с динамикой и статикой это не имеет ничего общего.

Имеет. Динамика имеет смысл только там где имеет смысл prebuilt library.

cvv ★★★★★
()
Ответ на: комментарий от cvv

Имеет. Динамика имеет смысл только там где имеет смысл prebuilt library.

Что? Вариант проекта со своими библиотеками не рассматривается из принципа?

UVV ★★★★★
() автор топика
Ответ на: комментарий от UVV

Почемуже? Если имеет смысл prebuilt, значит имеет смысл и динамика. Не имеет смысла - не имеет смысла и динамика ...

cvv ★★★★★
()
Ответ на: комментарий от cvv

Причём здесь prebuilt? Мы говорим о динамической линковке, когда gtest часть проекта. Он не prebuilt, а built в рамках моего окружения и тестовой платформы. Так вот я не вижу смысла линковать статически логически разделённые тесты. Имхо, это нифига не проще, чем все слинковать с динамическим gtest'om.

UVV ★★★★★
() автор топика

У вас там под каждый тест нужен кастомный googletest? (/.\)Может быть позвать старшего офицера лучше?

d_a ★★★★★
()
Ответ на: комментарий от UVV

а вдруг вот этот конкретный тест нужно будет написать на другой версии gtest'a, которая не совместима с текущей...

А вот это.

d_a ★★★★★
()
Ответ на: комментарий от UVV

А ну вот, если не надо тогда и решилася проблемка -- можно просто ничего не трогать, ничего не менять (с) как в анекдоте.

d_a ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.