Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.65/48: Рейтинг темы: голосов - 48, средняя оценка - 4.65
3 / 3 / 0
Регистрация: 28.11.2018
Сообщений: 242

В чём разница .lib .dll .h/.cpp

01.02.2020, 23:55. Показов 10803. Ответов 38
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не понимаю, в чём отличие библиотек(lib,dll,a,os) от "библиотек"(.h/cpp)?
Хочу научиться создавать библы(lib, dll), а при запросе в гугл выдает только что то про .h(что я уже и так давно знаю). Я просто всегда думал, что .h - это обычные файлы заголовки, НЕ библиотеки. А в гугле эти заголовки называют библиотеками...
В чём отличие lib, dll, h,(кроме того что либ - статическая и находится в бинарии, exe; а длл - динамическая и могут коннектится сразу несколько источников одновременно) и как их создать(книга/ресурс)???
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.02.2020, 23:55
Ответы с готовыми решениями:

В чём разница между Assembly и DLL?
Привет Всем! У меня вот такой вопрос: в чем разница между Assembly в .Net и обычной DLL? и что вообще такое Assembly, а то определение не...

Как в VS 2015 устранить ошибку LNK 1104 cannot open file 'fltkd.lib wsock32.lib comct132.lib fltkjpegd.lib'?
как устранить ошибку LNK 1104 в visual studio community 2015? пункта C/C++ в properties нету Можете сказать куда его перенесли или...

Linker error msvcprtd.lib(msvcp100d.dll) error lnk2005 already defined libcpmtd.lib
Господа, забрал из VSS солюшен (из 5 проектов) для VS2010 и стал его собирать. Увлекательный квест "собери меня" через...

38
 Аватар для SergioO
261 / 209 / 99
Регистрация: 13.12.2015
Сообщений: 1,098
23.04.2021, 13:55
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Вы бы ему книжку тогда посоветовали что ли. Я вот не знаю где это внятно описано.
длинный пост получится. а так, реально, не по месту вопросы

Добавлено через 29 секунд
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Причем, насколько я слышал, в последних версиях windows прикрутили специальную виртуалку wsl
для Linux контейнеров

Добавлено через 1 минуту
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
так что сойдет и notepad++
это жесть )) по-моему, конечно. есть же JetBrains, например. Есть обычный Vi, VIm
0
 Аватар для COKPOWEHEU
4070 / 2704 / 433
Регистрация: 09.09.2017
Сообщений: 12,026
23.04.2021, 14:26
Почему жесть? Подсветка и автодополнения там вроде есть, что еще надо?
vim все же надо изучать, а это будет отвлекать от изучения программирования. То есть оно, конечно, полезно, но не все же сразу.
А вот от IDE лучше отказаться: оно превращает простой процесс компиляции в магию.
Цитата Сообщение от SergioO Посмотреть сообщение
для Linux контейнеров
Не знаю. У меня на компе винды нет никакой, а на виртуалке оно не ставится.
Кстати, никто ведь не запрещает ТСу поставить нормальную виртуалку и не париться с майкрософтовской. Правда, я там так и не нашел нормального способа создания общих папок чтобы перебрасывать туда файлы. То есть гостевая винда их видит, а гостевые линуксы - нет.

Добавлено через 3 минуты
Цитата Сообщение от SergioO Посмотреть сообщение
а так, реально, не по месту вопросы
Это как раз решаемо. Попросим модератора откромсать от этой темы ветку по библиотекам и устройству компилятором в отдельную тему. Но открамсывать-то нужно что-то содержательное.
0
 Аватар для SergioO
261 / 209 / 99
Регистрация: 13.12.2015
Сообщений: 1,098
23.04.2021, 14:30
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Подсветка и автодополнения там вроде есть, что еще надо?
статический анализатор, возможность посмотреть исходник, куча подсказок, в отличие от ...
это, как бы не серьезно ))
0
 Аватар для COKPOWEHEU
4070 / 2704 / 433
Регистрация: 09.09.2017
Сообщений: 12,026
23.04.2021, 14:58
Зачем в редакторе кода статический анализатор? В большинстве случаев достаточно подсветки и автоотступов чтобы увидеть косяк со скобками.
А если уж нужен статический или динамический анализатор, так cppcheck и valgrind никто не отменял.
Еще раз: мы говорим про обучение. Чем проще устроен инструментарий, тем лучше, а то опять-таки будет "магия". Вот когда сможет с нуля написать проект на несколько файлов, makefile к нему, редактор кода, компилятор и операционную систему тогда и на IDE перейти проблемой не будет. Потому что будет понимание как оно устроено внутри.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.04.2021, 14:59
Цитата Сообщение от SergioO Посмотреть сообщение
но как такового lib нет
Что значит нет?
0
 Аватар для SergioO
261 / 209 / 99
Регистрация: 13.12.2015
Сообщений: 1,098
23.04.2021, 15:24
Цитата Сообщение от Avazart Посмотреть сообщение
Что значит нет?
то и значит, тчто это параметр -lib

Добавлено через 17 минут
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Вы бы ему книжку тогда посоветовали что ли. Я вот не знаю где это внятно описано.
нет таких книжек! по сусекам поскребсти...
GCC https://gcc.gnu.org/onlinedocs/
https://clang.llvm.org/docs/UsersManual.html
это то, что нужно читать?
https://www.intel.ru/content/w... ssors.html
0
 Аватар для COKPOWEHEU
4070 / 2704 / 433
Регистрация: 09.09.2017
Сообщений: 12,026
23.04.2021, 15:46
Цитата Сообщение от SergioO Посмотреть сообщение
то и значит, тчто это параметр -lib
Параметр чего? Вроде не флаг gcc.
Да и вообще, мы ведь говорим о расширениях файлов. И *.lib - статическая библиотека msvs, также как *.a - gcc
man gcc
Это читать, конечно, стоит, но это справочник, а не учебник.
Руководства разработчика программного обеспечения для архитектуры Intel® 64 и IA-32
оО зачем? В смысле зачем начинать с самой сложной архитектуры? Если уж лезть в настолько низкий уровень, то лучше начать с AVR или RISC-V, они хоть по-людски устроены. Правда, по последнему информации на русском совсем мало.

Добавлено через 2 минуты
Как вариант можно попробовать начать с Роберт Лав "Linux. Системное программирование". Точно сказать не могу, особо ее не читал. Но на первый взгляд базовые концепции там упомянуты.
0
 Аватар для SergioO
261 / 209 / 99
Регистрация: 13.12.2015
Сообщений: 1,098
23.04.2021, 15:46
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Параметр чего? Вроде не флаг gcc.
-l
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
*.lib - статическая библиотека msvs,
вот про это не знал
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
зачем начинать с самой сложной архитектуры?
у кого-то другая? ну тогда amd читать
реально - разговор ни о чем
0
 Аватар для COKPOWEHEU
4070 / 2704 / 433
Регистрация: 09.09.2017
Сообщений: 12,026
23.04.2021, 15:52
Цитата Сообщение от SergioO Посмотреть сообщение
вот про это не знал
Так про это с самого начала говорят
*.a - статическая библиотека gcc
*.lib - статическая библиотека msvs
*.so - динамическая библиотека nix
*.dll - динамическая библиотека windows
В общем, для линуксоидов *.a + *.so, для виндузятников *.a + *.dll, для мазохистов *.lib + *.dll
Цитата Сообщение от SergioO Посмотреть сообщение
у кого-то другая?
Я же привел примеры: ассемблер и архитектуру лучше изучать на примере 8-битных контроллеров. Про AVR могу сказать точно, но наверное PIC или x51 тоже годятся. Мы ведь сейчас говорим именно про общие, базовые принципы, а не про архитектурные извращения вроде конвейера, предсказания переходов, кэша, микрокода и т.д.
Цитата Сообщение от SergioO Посмотреть сообщение
реально - разговор ни о чем
Если речь о споре, то да, ни о чем. Но я пытаюсь донести ТСу информацию, которой он сможет воспользоваться.
0
фрилансер
 Аватар для Алексей1153
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
23.04.2021, 16:05
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
В общем, для линуксоидов *.a + *.so, для виндузятников *.a + *.dll, для мазохистов *.lib + *.dll
добрые разработчики толерантно обо всех позаботились
1
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.04.2021, 16:54
Под виндовс нет *.a
*.a и *.so - линуксовая ерунда.
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
23.04.2021, 17:02
Avazart, есть. mingw и clang (в GNU mode) делают.
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
23.04.2021, 17:18
Avazart, и компиляторы для контроллеров также используют либы *.a
Все смешалось, кони, люди...
0
 Аватар для COKPOWEHEU
4070 / 2704 / 433
Регистрация: 09.09.2017
Сообщений: 12,026
23.04.2021, 19:47
Цитата Сообщение от Avazart Посмотреть сообщение
Под виндовс нет *.a
Я не просто так привязал этот формат к компилятору, а не к ОС. gcc для любой платформы использует *.a.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.04.2021, 20:19
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
gcc для любой платформы использует *.a.
А mingw, GCC, GNU у нас что?
0
 Аватар для COKPOWEHEU
4070 / 2704 / 433
Регистрация: 09.09.2017
Сообщений: 12,026
23.04.2021, 20:36
Avazart, поясните вопрос
mingw - порт gcc на windows
gcc - собственно gcc
gnu - идеология unix-подобной ОС и все, что с этим связано. Как оно относится к предыдущим пунктам?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.04.2021, 21:59
Одним словом линуксовая ерунда?
0
 Аватар для COKPOWEHEU
4070 / 2704 / 433
Регистрация: 09.09.2017
Сообщений: 12,026
24.04.2021, 00:53
Avazart, это не пояснение вопроса.
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
24.04.2021, 11:20
Avazart, корректнее говорить не о линуксовой ерунде, а о gcc-ерунде
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.04.2021, 11:20

[C++ Error] Lib.cpp(18): E2040 Declaration terminated incorrectly
Доброго времени суток. Пытаюсь компильнуть прогу. Lib.cpp(18): E2040 Declaration terminated incorrectly Помогите разобраться,...

Разница между *.obj и *.lib
Добрый день! А в чем разница?

Где скачать opengl32.lib, glu32.lib и glaux.lib из OpenGl?
Привет всем... Нужна помошь немогу найти lib Opengl такие как opengl32.lib, glu32.lib и glaux.lib где можно их скачать? (в гугле лазил...

C:\Dev-Cpp\lib\vector.h `ostream' is neither function nor member function; cannot be declared friend
выкидывает C:\Dev-Cpp\lib\vector.h `ostream' is neither function nor member function; cannot be declared friend при компиляции. что делать?

lib и def из dll
Здравствуйте. Тема по созданию lib и def из dll неоднократно поднималась и обсуждалась, но прописав в командной строке implib...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
39
Ответ Создать тему
Новые блоги и статьи
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru