В данном видео будет кратко рассмотрен процесс создания статической и динамической библиотек Visual Studio C++
Пікірлер: 63
@hash81212 жыл бұрын
От души благодарю. Я только одного не понимаю: почему такие простые вещи вынужден объяснять чел из ютуба, а официальный тутор по динамическим библиотекам уходит куда-то вообще не в ту степь.
@jenshenj15562 жыл бұрын
какая бы проблема тебя не настигла, всегда найдется школьник-индус который все тебе объяснит
@etwas2 Жыл бұрын
Причем он рбязательно будет тихим и с шумящим микро :3
@vodden2 жыл бұрын
Хорошее видео, желаю здоровья и долгих лет автору. Продолжай в том же духе :-)
@Ilyadarkganjubasnavi2 жыл бұрын
Респект таким посонам, сразу лайк хочется поставить, ведь на таких и держится страна
@dodibilder Жыл бұрын
Спасибо , сидел тупил миллиард часов , искал годный гайд в поисковиках , надо было сразу в ютуб лезть ...
@romanbush51642 жыл бұрын
Вот это ты шпариш на плюсах, как на русском 😳, спасибо полезная информация, нужно подключить мне дллку плюсовую в шарп, а точка входа не найдена. Попробую твой способ. С динамической намного сложнее походу
@epifaniichernov72705 ай бұрын
Респект, отличное видео. Кто столкнется с ошибками в проекте LNK-2019 и LNK1120: Пересоздайте библиотеку и сделайте общую конфигурацию как на видео. ( не win32 и т.д)
@user-bo9hc6wd5f2 жыл бұрын
Привет это я твой единственный зритель.Все это время я смотрел твои видео со всех своих аккаунтов и ставил лайки чтобы ты думал что ты популярен
@user-bs1ql6qb2f2 жыл бұрын
Огромное спасибо, мой единственный зритель
@user-iw9pl4nq1k6 ай бұрын
Прикольная клавиатума прям как Антистресс 😊
@user-lt2wz5he5i2 жыл бұрын
Когда обзор новых модов Майнкрафта?
@un1ghtiks10 ай бұрын
почему всё время появляется ошибка LNK1104, чтобы ты не делал
@user-mq6mz9jz8k8 ай бұрын
жиза... я уже 2 день сижу с этой ошибкой
@artemnikonopov63854 ай бұрын
@@user-mq6mz9jz8k получилось в итоге исправить ошибку?
@genimislu3 ай бұрын
@@artemnikonopov6385 решил?
@sempai_rr16363 ай бұрын
ну как там ? помнишь как решил?
@AlekseyHmelevskoy6 ай бұрын
Очень полезное видео 👍
@aleksey49432 жыл бұрын
А почему сразу не создать проект статической библиотеки?
@ivantrofimov6966 Жыл бұрын
Ты просто лучший!
@user-gy4lz1mk9u5 ай бұрын
Лучший
@rakhmet_off12915 ай бұрын
лучший
@user-ge1rh3jp7c Жыл бұрын
Будьте осторожны!!! Убавьте громкость перед просмотром!!! Слишком громко!!!
@PaShampusik2 жыл бұрын
3:24 ----> динамическая библиотека :D
@aleksey49432 жыл бұрын
Передаём привет из 2022
@darmoed_phantorm5 ай бұрын
Передаем привет из 2024
@R3v0ult2 жыл бұрын
Офигенный голос
@psoleny Жыл бұрын
Не надеюсь, что кто-то в ближайшее время это прочтёт, но всё-таки. Спасибо, конечно, за такой разбор, но для более сложной какой-нибудь динамической библиотеки вообще непонятно. Вот создали мы этот файл, а что нам нужно, чтобы в другом проекте им воспользоваться? Или это так не работает? Плюс, то, что я хочу, чтобы функция делала, где я должна это описать? Если функций несколько, то как их разделить?
@forextradingscalping89189 ай бұрын
Пользовательских функций может быть сколько угодно, в данном примере одна - Sum и в начале видео он эту функцию объявлял. В следующем проекте он создал программу где сначала описал процедуру подключения библиотеки с описанной функцией, а потом вызова этой функции в cout"Sum".
@victoriacurie7526 Жыл бұрын
А как в реальном времени подключать dll библиотеку то ?
@KingDog25 Жыл бұрын
Отлично, спасибо, а то я на 2:58 затупил, а оказывается все просто
@_limak Жыл бұрын
я этот момент не понимаю, если не лень, можешь объяснить?
@KingDog25 Жыл бұрын
@@_limak там всё просто, если по видео действия повторять то всё запустится. Просто нужно указать относительный или прямой путь к самой dll (или lib) для данного проекта
@smolenskiyyoutube7780 Жыл бұрын
эх эх не работают у меня dll
@sokol_play8708 Жыл бұрын
Для чего перед объявлением функции в динамической библиотеке в h файле писать extern "C" ....? Подскажите, пожалуйста.
@4malgama Жыл бұрын
что бы компилятор не искажал название функции в других проектах
@sav00perm Жыл бұрын
Это явное связывание?
@aleksey49432 жыл бұрын
А почему windows.h? На других платформах оно не заработает :(
@user-qq2ud2gc6g2 жыл бұрын
Так я другие пусть нафик идут, тру пацаны на винде сидят
@user-bs1ql6qb2f2 жыл бұрын
@@user-qq2ud2gc6g уважаю
@user-bs1ql6qb2f2 жыл бұрын
@@user-qq2ud2gc6g не уважаю
@shameless-samurai Жыл бұрын
@@user-bs1ql6qb2f ахахах
@Rick777aАй бұрын
Какой лабороторной?...💀💀💀
@user-ek8tc6hn5s10 ай бұрын
Чел, ты все еще в бгуире?
@tall_guy819 ай бұрын
Братан, я выкрутил звук на максимум везде, где только мог, но так ни слова и не услышал.
@Nickola_United10 ай бұрын
Жесть. Сколько всего нужно написать, чтобы просто подключить обычную dll
@thetiphon11 ай бұрын
Создание динамической ничем не отличается от статической, кроме того что нужно добавлять спецификатор __declspec(dllexport) для функций экспорта. windows.h и определение прототипа функции - лишнее. Нужно было просто .lib файл к линковщику подключить также, как ты со статической линковкой делал. Можно даже ещё проще: пкм по проекту клиента - добавить - ссылка и выбрать проект библиотеки. Буквально два клика
@kotanvich8 ай бұрын
А в линукс?
@romanbush51642 жыл бұрын
на С# работает)) простой урок гуглить: Взаимодействие C # / C с DllImport - CodeProject using System; using System.Runtime.InteropServices; namespace TestDll { class Program { [DllImport("DynamicLib.dll", CallingConvention = CallingConvention.Cdecl)] extern static int Sum(int a, int b); static void Main(string[] args) { Console.WriteLine(Sum(10,20)); Console.ReadKey(); } } }
@cattygun1052 Жыл бұрын
Зачем писать FreeLibrary()
@vanyadankoglo26711 ай бұрын
очень тихое видео
@dimaborovik78572 жыл бұрын
Тихо очень
@kpanat10 ай бұрын
Варант динамичского подключения совершенно неинтересен, только прелауд...
@genimislu3 ай бұрын
Решить проблему LNK-2019 и LNK1120 помогло добавление в Sum.cpp конструкции: int main() {return 0;}. После этого сборка библиотеки прошла успешно. А ошибка "0x00000000 в TestLib.exe: 0xC0000005: нарушение прав доступа при исполнении по адресу 0x00000000" решилось тем, что вместо DynamicLib.dll, я вставил DynamicLib.exe. Я не знаю, но в пути проекта динамической библиотеки у меня почему-то нету файла с расширением .dll, только .exe
@romanbush51642 жыл бұрын
Вызвано исключение по адресу 0x00000000 в TestLib.exe: 0xC0000005: нарушение прав доступа при исполнении по адресу 0x00000000. вставил полный путь до dll и заработало
@user-xp8on2df2j2 жыл бұрын
А какой полный путь?
@romanbush51642 жыл бұрын
@@user-xp8on2df2j от корня диска
@user-mj7xb6mv8h Жыл бұрын
А куда что надо вставить😅 У меня такая же ошибка просто
@romanbush5164 Жыл бұрын
@@user-mj7xb6mv8h мой нижний коммент, 6:29 думаю в LoadLibrary load = LoadLibrary(L"C:\\Users\\User\\source\ epos\\DynamicLib\\Debug\\DynamicLib.dll"); выложил на github POMXARK/DynamicLib
@user-mj7xb6mv8h Жыл бұрын
У меня просто почему-то не создался dll файл, хотя всё правильно, поэтому программа не могла его найти:) Посмотрела другой видос по созданию dll и всё сработало