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

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

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

Author24 — интернет-сервис помощи студентам
Не понимаю, в чём отличие библиотек(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? и что...

Как в 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 и стал его собирать. Увлекательный...

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

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

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

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

Добавлено через 3 минуты
Цитата Сообщение от SergioO Посмотреть сообщение
а так, реально, не по месту вопросы
Это как раз решаемо. Попросим модератора откромсать от этой темы ветку по библиотекам и устройству компилятором в отдельную тему. Но открамсывать-то нужно что-то содержательное.
0
260 / 208 / 99
Регистрация: 13.12.2015
Сообщений: 1,098
23.04.2021, 14:30 23
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Подсветка и автодополнения там вроде есть, что еще надо?
статический анализатор, возможность посмотреть исходник, куча подсказок, в отличие от ...
это, как бы не серьезно ))
0
4023 / 2569 / 430
Регистрация: 09.09.2017
Сообщений: 11,482
23.04.2021, 14:58 24
Зачем в редакторе кода статический анализатор? В большинстве случаев достаточно подсветки и автоотступов чтобы увидеть косяк со скобками.
А если уж нужен статический или динамический анализатор, так cppcheck и valgrind никто не отменял.
Еще раз: мы говорим про обучение. Чем проще устроен инструментарий, тем лучше, а то опять-таки будет "магия". Вот когда сможет с нуля написать проект на несколько файлов, makefile к нему, редактор кода, компилятор и операционную систему тогда и на IDE перейти проблемой не будет. Потому что будет понимание как оно устроено внутри.
0
Эксперт С++
8483 / 6150 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.04.2021, 14:59 25
Цитата Сообщение от SergioO Посмотреть сообщение
но как такового lib нет
Что значит нет?
0
260 / 208 / 99
Регистрация: 13.12.2015
Сообщений: 1,098
23.04.2021, 15:24 26
Цитата Сообщение от 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
4023 / 2569 / 430
Регистрация: 09.09.2017
Сообщений: 11,482
23.04.2021, 15:46 27
Цитата Сообщение от SergioO Посмотреть сообщение
то и значит, тчто это параметр -lib
Параметр чего? Вроде не флаг gcc.
Да и вообще, мы ведь говорим о расширениях файлов. И *.lib - статическая библиотека msvs, также как *.a - gcc
man gcc
Это читать, конечно, стоит, но это справочник, а не учебник.
Руководства разработчика программного обеспечения для архитектуры Intel® 64 и IA-32
оО зачем? В смысле зачем начинать с самой сложной архитектуры? Если уж лезть в настолько низкий уровень, то лучше начать с AVR или RISC-V, они хоть по-людски устроены. Правда, по последнему информации на русском совсем мало.

Добавлено через 2 минуты
Как вариант можно попробовать начать с Роберт Лав "Linux. Системное программирование". Точно сказать не могу, особо ее не читал. Но на первый взгляд базовые концепции там упомянуты.
0
260 / 208 / 99
Регистрация: 13.12.2015
Сообщений: 1,098
23.04.2021, 15:46 28
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Параметр чего? Вроде не флаг gcc.
-l
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
*.lib - статическая библиотека msvs,
вот про это не знал
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
зачем начинать с самой сложной архитектуры?
у кого-то другая? ну тогда amd читать
реально - разговор ни о чем
0
4023 / 2569 / 430
Регистрация: 09.09.2017
Сообщений: 11,482
23.04.2021, 15:52 29
Цитата Сообщение от SergioO Посмотреть сообщение
вот про это не знал
Так про это с самого начала говорят
*.a - статическая библиотека gcc
*.lib - статическая библиотека msvs
*.so - динамическая библиотека nix
*.dll - динамическая библиотека windows
В общем, для линуксоидов *.a + *.so, для виндузятников *.a + *.dll, для мазохистов *.lib + *.dll
Цитата Сообщение от SergioO Посмотреть сообщение
у кого-то другая?
Я же привел примеры: ассемблер и архитектуру лучше изучать на примере 8-битных контроллеров. Про AVR могу сказать точно, но наверное PIC или x51 тоже годятся. Мы ведь сейчас говорим именно про общие, базовые принципы, а не про архитектурные извращения вроде конвейера, предсказания переходов, кэша, микрокода и т.д.
Цитата Сообщение от SergioO Посмотреть сообщение
реально - разговор ни о чем
Если речь о споре, то да, ни о чем. Но я пытаюсь донести ТСу информацию, которой он сможет воспользоваться.
0
фрилансер
5856 / 5395 / 1104
Регистрация: 11.10.2019
Сообщений: 14,406
23.04.2021, 16:05 30
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
В общем, для линуксоидов *.a + *.so, для виндузятников *.a + *.dll, для мазохистов *.lib + *.dll
добрые разработчики толерантно обо всех позаботились
1
Эксперт С++
8483 / 6150 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.04.2021, 16:54 31
Под виндовс нет *.a
*.a и *.so - линуксовая ерунда.
0
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
23.04.2021, 17:02 32
Avazart, есть. mingw и clang (в GNU mode) делают.
0
Эксперт CЭксперт С++
5118 / 4558 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
23.04.2021, 17:18 33
Avazart, и компиляторы для контроллеров также используют либы *.a
Все смешалось, кони, люди...
0
4023 / 2569 / 430
Регистрация: 09.09.2017
Сообщений: 11,482
23.04.2021, 19:47 34
Цитата Сообщение от Avazart Посмотреть сообщение
Под виндовс нет *.a
Я не просто так привязал этот формат к компилятору, а не к ОС. gcc для любой платформы использует *.a.
0
Эксперт С++
8483 / 6150 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.04.2021, 20:19 35
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
gcc для любой платформы использует *.a.
А mingw, GCC, GNU у нас что?
0
4023 / 2569 / 430
Регистрация: 09.09.2017
Сообщений: 11,482
23.04.2021, 20:36 36
Avazart, поясните вопрос
mingw - порт gcc на windows
gcc - собственно gcc
gnu - идеология unix-подобной ОС и все, что с этим связано. Как оно относится к предыдущим пунктам?
0
Эксперт С++
8483 / 6150 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.04.2021, 21:59 37
Одним словом линуксовая ерунда?
0
4023 / 2569 / 430
Регистрация: 09.09.2017
Сообщений: 11,482
24.04.2021, 00:53 38
Avazart, это не пояснение вопроса.
0
Эксперт CЭксперт С++
5118 / 4558 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
24.04.2021, 11:20 39
Avazart, корректнее говорить не о линуксовой ерунде, а о gcc-ерунде
0
24.04.2021, 11:20
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.04.2021, 11:20
Помогаю со студенческими работами здесь

Разница между *.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...

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


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

Или воспользуйтесь поиском по форуму:
39
Ответ Создать тему
Новые блоги и статьи
Как написать микросервис на Go/Golang с Kafka и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru