172 похожих чатов

Как принято собирать С библиотеки, с которыми нужно будет линковать

исполняемые файлы?

16 ответов

8 просмотров

Библиотеки на С или что?

Ну если тебе просто линковаться с библиотекой (so/dll) надо то биндингов+dub вроде должно хватить. Если ты хочешь собирать код на С c кодом на D то это уже нетривиальная задача.

Egor-Kulebyakin Автор вопроса
Darkanronpa Dark Hole
Ну если тебе просто линковаться с библиотекой (so/...

У меня если сорсы библиотки на С, мне нужно как-то 1) сгенерировать модули для D 2) скомпилировать эту библиотеку как такое обычно делают?

Egor Kulebyakin
У меня если сорсы библиотки на С, мне нужно как-то...

Ваще не понял. Ты хочешь сконвертировать код на С в код на D?

Egor-Kulebyakin Автор вопроса
Egor Kulebyakin
Я хочу использовать С хедеры в коде D

Ну. Сейчас пилят супер-пупер-ультра-вау решение под названием ImportC — тогда смогут импортить хедеры напрямую в D. Но пока что вроде ещё не готово. Вариант два: ты переписываешь хедеры на D сам и потом их используешь чтобы прилинковаться к библиотеке. Насколько я знаю, есть решения для генерации биндингов, но их всё равно потом надо править ручками. Так что лучше сразу посмотреть, нет ли на dub готовых, если нет... Ну вот придётся их искать. Лично я этим не занимался, могу ошибся.

Egor Kulebyakin
Я хочу использовать С хедеры в коде D

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

Egor Kulebyakin
можно сказать, что моя

тогда можно дергать сборку каким-нибудь pre-build

Oleg B
тогда можно дергать сборку каким-нибудь pre-build

а почему так нельзя для общей либы?

000Sanya
а почему так нельзя для общей либы?

ну как-то странно с биндингом тянуть оригинал, может у человека своя атмосфера и, например, сборка всего С кода в системе производится шлангом или с какими-то особенными флагами или со своей glibc, всё это учитывать в сборке и нести с собой? а если кросскомпиляция? нетривиально может быть настроен компилятор

Egor Kulebyakin
можно сказать, что моя

и ты хочешь прям по феншую распространять?

Oleg B
ну как-то странно с биндингом тянуть оригинал, мож...

Только вот нет какого то стандартного способа установки библиотеки в систему же

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
How to create an OS in C? what to study?
Linus
18
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
9
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
Карта сайта