The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск операционной системы Redox OS 0.6, написанной на язык..."
Отправлено n00by, 28-Дек-20 17:21 
>> Вы готовы показать ссылку на проект "который подгружает libc", а не слинкован с ней статически
> $ ldd /bin/ls
>         libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcccfb9f000)

Здесь "погружает" не ls, а системный загрузчик (ld-linux), выполняя динамическое связывание. ls начинает исполняться после этой фазы. Если бы ls подгружал, там происходил бы вызов функции dlopen(), примерно как в man dlopen. Но есть нюанс. libdl.so сама импортирует libc.so, а значит опять всё сделал системный загрузчик.

Если подходить формально, мой вопрос содержит ошибку ("статически"), за которую Вы ухватились. По существу, она ничего не меняет, от техники связывания поведение не изменится: libc в обоих случаях загружена и инициализирована до вызова точки входа (и тем более main()) из ls.

Наверное, Вы имели ввиду "использует libc".

>> поскольку у того "любого языка" рантайм написан на Си
> Этот пункт не понял. Почему у языка рантайм должен быть на Си,
> при чём тут это?

Он не должен. Но почему-то по факту так (не всегда, но примеров пока нет).

> Берём любой язык и делаем из
> него вызов к libc.so, при этом без разницы что за язык
> и какой у него рантайм. Это просто вызов функции произвольной динамической
> библиотеки, что на Линуксе что на Винде.

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

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру