Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
yura91
30 / 28 / 2
Регистрация: 23.10.2013
Сообщений: 2,255
#1

Для чего используется DLL? - C++

30.09.2014, 13:33. Просмотров 337. Ответов 12
Метки нет (Все метки)

исходники кода написанного на C++ хранятся в DLL верно?? Для чего используется DLL??

Добавлено через 2 минуты
вернее не исходники а исполняемый код помещается в DLL да??
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2014, 13:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Для чего используется DLL? (C++):

Кто может поделиться файлами ogg.dll, vorbis.dll и vorbisfile.dll - 32-х и 64-битными версиями? - C++
Движок перевожу на платформу Win64 и нужно, чтобы разрядность ЕХЕ и DLL совпадали, а в интернете искал 64-битные версии ogg.dll, vorbis.dll...

.elf и для чего они нужны - C++
Собственно сабж Почитал Вики, как-то для новичка не очень много прояснилось И объясните еще пожалуйста разницу с ехе

Что такое compile-time алгоритмы и для чего они нужны? - C++
А есть от них хоть какая-то практическая польза? По-моему нет

DLL для Windows Mobile - C++
Всем добрый день. Такая проблема: есть библиотека DLL, которая была написана для десктопных приложений. Необходимо преобразовать ее в...

Знания чего необходимы для создания читов? Есть ли литература на эту тему? - C++
Есть желание создать чит для одной игрушки, в которую раньше яро задротил. Сейчас по чуть-чуть изучаю C++ и параллельно реверсинг, но у...

Модуль-посредник для wtsapi32.dll - C++
Здравствуйте. Вот пытаюсь написать модель-посредник для wtsapi32.dll. Судь заключается в том, что этот модуль заменяет оригинальный и...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
magirus
Супер-модератор
Эксперт по компьютерным сетямЭксперт Windows
26500 / 14802 / 844
Регистрация: 15.09.2009
Сообщений: 64,423
Записей в блоге: 69
30.09.2014, 13:34 #2
нет.
нет.
yura91
30 / 28 / 2
Регистрация: 23.10.2013
Сообщений: 2,255
30.09.2014, 13:57  [ТС] #3
а что находится в dll??
Avazart
Эксперт С++
7148 / 5325 / 276
Регистрация: 10.12.2010
Сообщений: 23,568
Записей в блоге: 17
30.09.2014, 15:14 #4
Цитата Сообщение от yura91 Посмотреть сообщение
а что находится в dll??
Кролик)

Добавлено через 1 минуту
https://ru.wikipedia.org/wiki/%D0%94...B5%D0%BA%D0%B0
DrOffset
7092 / 4233 / 950
Регистрация: 30.01.2014
Сообщений: 7,008
30.09.2014, 18:40 #5
Цитата Сообщение от yura91 Посмотреть сообщение
а что находится в dll??
машинный код + специфичный для ОС заголовок. Исходного кода там нет.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
30.09.2014, 18:42 #6
Цитата Сообщение от yura91 Посмотреть сообщение
вернее не исходники а исполняемый код помещается в DLL да??
Не исполняемый, но и не объектный, а так, нечто среднее. Собрать собрали, но без возможности запуска отдельно от других программ. Машинным назвать можно, но исполняемый - это то, что можно запускать непосредственно.
DrOffset
7092 / 4233 / 950
Регистрация: 30.01.2014
Сообщений: 7,008
30.09.2014, 18:49 #7
taras atavin, я извиняюсь, но это не правда.
dll - это PE. А PE - это Portable Executable.
Да и вообще, исполняемый - это любой код, в который можно передать управление.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
30.09.2014, 18:58 #8
Цитата Сообщение от DrOffset Посмотреть сообщение
Да и вообще, исполняемый - это любой код, в который можно передать управление.
Ну покажите, как у Вас библиотека самостоятельно исполняется. Формат исполняемый, это да. А в контенте файла отличие, из-за которого данный файл способен исполняться только от "имени" другого процесса.
DrOffset
7092 / 4233 / 950
Регистрация: 30.01.2014
Сообщений: 7,008
30.09.2014, 19:17 #9
Цитата Сообщение от taras atavin Посмотреть сообщение
Ну покажите, как у Вас библиотека самостоятельно исполняется. Формат исполняемый, это да.
Сперва покажи где шла речь про самостоятельное исполнение.

Добавлено через 1 минуту
Цитата Сообщение от taras atavin Посмотреть сообщение
А в контенте файла отличие, из-за которого данный файл способен исполняться только от "имени" другого процесса.
Да и про файл речи не шло. Речь шла про код. А исполняемый код может быть почти где угодно.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
30.09.2014, 19:30 #10
А мне казалось, что речь была даже про расширение.
DrOffset
7092 / 4233 / 950
Регистрация: 30.01.2014
Сообщений: 7,008
30.09.2014, 19:36 #11
Цитата Сообщение от taras atavin Посмотреть сообщение
А мне казалось, что речь была даже про расширение.
Ну может конечно и так. Но даже если автор не знал о чем говорил, когда писал это
Цитата Сообщение от yura91 Посмотреть сообщение
исполняемый код помещается в DLL
, то, если отбросить технические подробности, оно, в принципе, так и есть.
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 1
30.09.2014, 19:51 #12
Цитата Сообщение от taras atavin Посмотреть сообщение
Ну покажите, как у Вас библиотека самостоятельно исполняется. Формат исполняемый, это да. А в контенте файла отличие, из-за которого данный файл способен исполняться только от "имени" другого процесса.
Компилим вот такую DLL (Изначально указав свою EntryPoint)
C
1
2
3
4
5
6
7
#include <windows.h>
 
void __stdcall main_dll()
{
    MessageBoxA(NULL, "TEST_1", "TEST_1", S_OK);
    return;
}
Потом немного изменяем заголовок PE.
Вот это
Assembler
1
0+DE    0221        DW 2102              ;  Characteristics = DLL|EXECUTABLE_IMAGE|32BIT_MACHINE
Меняем на
Assembler
1
0+DE    0201        DW 0102              ;  Characteristics = EXECUTABLE_IMAGE|32BIT_MACHINE
Файл переименовываем в exe и запускаем =)
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
30.09.2014, 20:00 #13
А теперь попробуйте из этого файла импортировать функцию и исполнить от имени другого приложения.

Добавлено через 3 минуты
Разработка приложений под девизом: "Если на клетке с верблюдом написано "Жираф", не верьте - это слон" - это отдельная история.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2014, 20:00
Привет! Вот еще темы с ответами:

Библиотеки для работы с джейсоном, не требующие dll - C++
Судя по всему, jsoncpp что я пытался использовать обязует таскать с собой лишнюю длл, что меня совершенно не устраивает. Можно как-нибудь...

При компиляции DLL-проекта не создается DLL-ка - C++
Добрый день. создал в Visual Studio 2010 проект C+= типа DLL. В файл dllmain.cpp вставил вот такой код: // test.cpp: определяет...

Windows I/o без Kernel32.dll и Advapi32.dll - C++
Добрый день. Необходимо в Windows XP SP3 распечатать в стандартный поток &quot;some text here&quot; без прямого или косвенного использования...

Для чего нужены параметры disable-rpath и disable-symvers при сборке? - C++
Подскажи пожалуйста, для чего нужен параметр disable-rpath и disable-symvers при сборке? Сообщения вынесены из темы Сборки...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.09.2014, 20:00
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru