powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / При использовании стандартной библиотеки С в программу линкуются исходники или бинарники?
14 сообщений из 39, страница 2 из 2
При использовании стандартной библиотеки С в программу линкуются исходники или бинарники?
    #39892969
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BanditKarapuz

Как при статической линковке могут возникать проблемы переносимости (если все что нужно находится внутри программы)?

gcc -march=native и опа - на другом процессоре может и не запуститься.
...
Рейтинг: 0 / 0
При использовании стандартной библиотеки С в программу линкуются исходники или бинарники?
    #39892970
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot BanditKarapuz#22022895]
mayton
пропущено...


Вопрос вполне себе полно описан, и кто обладает достаточными знаниями, тот может на него ответить. Что за детские разводки "заинтересуй нас" и прочее? Вы считаете себя женщиной, которая при знакомстве за свою благосклонность выторговывает что- либо у мужчины?

Тонко замечено. Но тебе прилетает желтая карточка. Я как модератор подраздела прошу тебя сейчас и на будуще
больше не использовать такие термины и способы ведения дискуссии. Надюсь на твою адекватность и понимание.
...
Рейтинг: 0 / 0
При использовании стандартной библиотеки С в программу линкуются исходники или бинарники?
    #39892973
BanditKarapuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Barlone
BanditKarapuz

Как при статической линковке могут возникать проблемы переносимости (если все что нужно находится внутри программы)?

gcc -march=native и опа - на другом процессоре может и не запуститься.


Причем тут линковка? Это вопрос компиляции и относится это не только к библиотеке, но и ко всей программе.
...
Рейтинг: 0 / 0
При использовании стандартной библиотеки С в программу линкуются исходники или бинарники?
    #39892974
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BanditKarapuz, вам уже ответили, при компиляции вашей программы исходники libc не используются. Результат компиляции вашего исходника будет линковаться либо со статической библиотекой .a, либо с динамической .so
...
Рейтинг: 0 / 0
При использовании стандартной библиотеки С в программу линкуются исходники или бинарники?
    #39892977
BanditKarapuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Barlone
BanditKarapuz, вам уже ответили, при компиляции вашей программы исходники libc не используются. Результат компиляции вашего исходника будет линковаться либо со статической библиотекой .a, либо с динамической .so


Спасибо.
...
Рейтинг: 0 / 0
При использовании стандартной библиотеки С в программу линкуются исходники или бинарники?
    #39892978
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BanditKarapuzВопрос вполне себе полно описан, и кто обладает достаточными знаниями, тот может на него
ответить

"Один дурак задаст вопрос такой, что сотня мудрецов ответить неосилят." (с)

1. Линковка - название вполне конкретного этапа сборки программы в котором исходники не
участвуют никак. Никогда. Технически не могут.
2. Shared Object-ы не включаются в программу. Никак. Никогда. Технически не могут.
3. Исходные тексты стандартной библиотеки обычно вообще на компьютере отсутствуют,
поскольку напрочь никому не нужны.

Вот это - ответы на твои вопросы. Удовлетворён?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
При использовании стандартной библиотеки С в программу линкуются исходники или бинарники?
    #39892982
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BanditKarapuzПричем тут линковка?

Подними глаза повыше: ты собственными пальцами написал её в сабже.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
При использовании стандартной библиотеки С в программу линкуются исходники или бинарники?
    #39893104
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BanditKarapuz
Бинарники- это возможно *.so, а возможно и *.a. Так что как вы их противопоставляете- не понятно.
SO внутрь не линкуется емнип, остается ссылка на функцию в библиотеке, с названием функции и названием библиотеки, конкретного адреса там не будет.


BanditKarapuz
Как при статической линковке могут возникать проблемы переносимости (если все что нужно находится внутри программы)?
Мне сложно ответить на этот вопрос. Возможно, где-то в статически линкуемых библиотеках есть жестко прописанные пути, других соображений нет.
...
Рейтинг: 0 / 0
При использовании стандартной библиотеки С в программу линкуются исходники или бинарники?
    #39894436
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin
BanditKarapuz
Бинарники- это возможно *.so, а возможно и *.a. Так что как вы их противопоставляете- не понятно.
SO внутрь не линкуется емнип, остается ссылка на функцию в библиотеке, с названием функции и названием библиотеки, конкретного адреса там не будет.
...
Рейтинг: 0 / 0
При использовании стандартной библиотеки С в программу линкуются исходники или бинарники?
    #39894461
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin
BanditKarapuz
SO внутрь не линкуется емнип, остается ссылка на функцию в библиотеке, с названием функции и названием библиотеки, конкретного адреса там не будет.Может и так, я до того, что там хранится в бинарном виде не смотрел.
Но у меня был такой случай. На одной машине собиралось приложение для библиотеки одной версии, которой на другой машине не было. Функции в обоих случаях назывались одинаково, но приложение не запустилось, требуя библиотеку определенной версии , то есть по имени файла.
...
Рейтинг: 0 / 0
При использовании стандартной библиотеки С в программу линкуются исходники или бинарники?
    #39894462
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin
BanditKarapuz
SO внутрь не линкуется емнип, остается ссылка на функцию в библиотеке, с названием функции и названием библиотеки, конкретного адреса там не будет.Может и так, я до того, что там хранится в бинарном виде не смотрел.
Но у меня был такой случай. На одной машине собиралось приложение для библиотеки одной версии, которой на другой машине не было. Функции в обоих случаях назывались одинаково, но приложение не запустилось, требуя библиотеку определенной версии , то есть по имени файла.
...
Рейтинг: 0 / 0
При использовании стандартной библиотеки С в программу линкуются исходники или бинарники?
    #39894501
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BanditKarapuz
Предположим я использую в своей программе функцию strlen, для чего добавил директивы препроцессору:
Код: plaintext
1.
2.
#include <stdio.h>
#include <string.h>



Что будет включено в мою программу:
1. Cомпилированные бинарники библиотеки libc (имеющие расширение so)
2. Исходные тексты стандартной библиотеки С (имеющие расширения cpp) и все вместе скомпилированно тем компилятором, который я исопльзую и с теми ключами, которые я ему задал.


Ни то, и ни другое.

Тебе это на твоём уровне понимания не объяснить.
Это очень сложно.
Тебе надо брать книги, и читать. Фундаментальные, хорошие книги, а не говно какое-то.
...
Рейтинг: 0 / 0
При использовании стандартной библиотеки С в программу линкуются исходники или бинарники?
    #39894503
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BanditKarapuz
mayton
BanditKarapuz, как всегда мы вынуждены додумывать доп. условия.

Поскольку ты ссылаешся на расширение .so то можно предположить что тебя интересует конкретно
поведение linux компилляторов gcc/clang.

Я сомневаюсь что стандарт языка С как-то регламентирует это поведение (линковка).

Тоесть твой вопрос касается не языка а конкретного компиллятора. Подтверди пожалуйста мое предположение.


Меня интересует возможность повышения производительности перекомпиляцией стандартной библиотеки С/С++ под свое железо. Это возможно проявится, если к моей программе линкуются не исходники, а готовые бинарники (тогда я могу их перекомпилировать под свою систему). Пробовать буду gcc и intel- компиляторы.


Но объектные файлы и inline-функции и интринсики УЖЕ скомпилированы под твою конкретную платформу,
под твоё железо.

нет, смысла в этом нет.
...
Рейтинг: 0 / 0
При использовании стандартной библиотеки С в программу линкуются исходники или бинарники?
    #39894569
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin
Aklin
пропущено...
SO внутрь не линкуется емнип, остается ссылка на функцию в библиотеке, с названием функции и названием библиотеки, конкретного адреса там не будет.
Может и так, я до того, что там хранится в бинарном виде не смотрел.
Но у меня был такой случай. На одной машине собиралось приложение для библиотеки одной версии, которой на другой машине не было. Функции в обоих случаях назывались одинаково, но приложение не запустилось, требуя библиотеку определенной версии , то есть по имени файла.
там список модулей есть, но функции не прибиты к модулю как в dll, функция берётся из первого модуля где она находится
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / При использовании стандартной библиотеки С в программу линкуются исходники или бинарники?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]