Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Egor138
32 / 13 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
#1

dll и h - C++

24.08.2012, 19:44. Просмотров 851. Ответов 6
Метки нет (Все метки)

У меня есть определенные функции, которые я хочу занести в файл. Будет ли какая нибудь разница между использование dll и h ????
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2012, 19:44
Я подобрал для вас темы с готовыми решениями и ответами на вопрос dll и h (C++):

Добавление своей dll в список dll подгружаемых процессом чужого процесса - C++
Вообще вопрос такой,как можно внедрить свою dll в список Import чужого не запущенного процесса?Не изменяя структуры файла.

Точка входа в процедуру InterlockedCompareExchange64 не найдена в библиотеке DLL KERNEL32.DLL - C++
День добрый! При запуске моей программы (много моего кода + много разных сторонних dll) на WinXP SP2, получаем соответствующую ошибку...

Dll файл в exe файле. Вшить dll libcurl - C++
Проблема такая что приходится таскать всегда libcurl.dll с собой. Надо все носить в одном exe. Enigma Virtual Box использовать нельзя,...

Запись из внедренной dll в другую dll этого процесса - C++
main.cpp #include <Windows.h> extern int writeprocess(); DWORD WINAPI MainThread(LPVOID lpParam) { ...

Как узнать путь к загруженной DLL из самой DLL? - C++
Создаю небольшую программку в папке c:/test/app/, есть DLL в папке c:/test/dll/. В коде самой dll, после её подгрузки в программу, можно...

Как узнать зависимость DLL-ки от других DLL-ек? - C++
Есть DLL-ка, она в свою очередь подгружает другие DLL-ки, а так же использует соответственно тулфейн свого компилятора и тд. Есть какая...

6
zss
Модератор
Эксперт С++
6876 / 6438 / 2155
Регистрация: 18.12.2011
Сообщений: 16,924
Завершенные тесты: 1
24.08.2012, 21:30 #2
Вопрос какой-то странный.
Если у Вас есть dll, то для использования функций из него
придется приготовить h файл с объявлением прототипов функций
и еще получить из dll lib файл для линковки.
0
Egor138
32 / 13 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
24.08.2012, 21:47  [ТС] #3
Цитата Сообщение от zss Посмотреть сообщение
Вопрос какой-то странный.
Если у Вас есть dll, то для использования функций из него
придется приготовить h файл с объявлением прототипов функций
и еще получить из dll lib файл для линковки.

Я просто не могу разобраться в чем разница между h и dll. Мне допустим нужно сделать функцию в отдельном файле.. Так в каком лучше?
0
zss
Модератор
Эксперт С++
6876 / 6438 / 2155
Регистрация: 18.12.2011
Сообщений: 16,924
Завершенные тесты: 1
24.08.2012, 22:02 #4
dll - это не текстовый файл,
а заранее откомпилированная динамически подключаемая библиотека.
1
Egor138
32 / 13 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
24.08.2012, 22:07  [ТС] #5
Цитата Сообщение от zss Посмотреть сообщение
dll - это не текстовый файл,
а заранее откомпилированная динамически подключаемая библиотека.
Это значит что в отличии от h она будет загружаться в систему только один раз? Тоесть она более быстродейственная?
0
ValeryS
Модератор
6963 / 5300 / 522
Регистрация: 14.02.2011
Сообщений: 17,882
24.08.2012, 22:42 #6
Цитата Сообщение от Egor138 Посмотреть сообщение
Это значит что в отличии от h она будет загружаться в систему только один раз? Тоесть она более быстродейственная?
Ты несколько не правильно понимаешь задачу
*.h - это заголовочные файлы, в которых лежат описания функций, переменных, структур и т.д
нужен только для компиляции, в готовых программах его нет
dll это библиотека уже скомпилированная программа
существует два типа библиотек
dll dinamic link library динамическая
lib library статическая
первая это отдельная программа которую во время исполнения подгружает твоя программа, для использования функций библиотеки. Размер твоей программы меньше но работает медленней, поскольку приходится подгружать dll
Зато одну dll может использовать куча программ , например kernil.dll(ядро) используют все прикладные программы.
вторая эта библиотека которая используется при создании твоей программы, все функции из библиотеки переносятся в твою программу, размер больше но работает быстрее.
Каждая имеет свои плюсы и минусы
А заголовочный файл нужен будет в обоих случаях
3
Egor138
32 / 13 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
25.08.2012, 13:16  [ТС] #7
Цитата Сообщение от ValeryS Посмотреть сообщение
Ты несколько не правильно понимаешь задачу
*.h - это заголовочные файлы, в которых лежат описания функций, переменных, структур и т.д
нужен только для компиляции, в готовых программах его нет
dll это библиотека уже скомпилированная программа
существует два типа библиотек
dll dinamic link library динамическая
lib library статическая
первая это отдельная программа которую во время исполнения подгружает твоя программа, для использования функций библиотеки. Размер твоей программы меньше но работает медленней, поскольку приходится подгружать dll
Зато одну dll может использовать куча программ , например kernil.dll(ядро) используют все прикладные программы.
вторая эта библиотека которая используется при создании твоей программы, все функции из библиотеки переносятся в твою программу, размер больше но работает быстрее.
Каждая имеет свои плюсы и минусы
А заголовочный файл нужен будет в обоих случаях

Спасибо.. Вот теперь я все понял)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.08.2012, 13:16
Привет! Вот еще темы с ответами:

Вызов Dll-фий в другой Dll - C++
не получается дернуть dll в другой dll. Подскажите, как должен происходить вызов dll1 в dll2 ? (псевдокод) dll1.cpp { int...

Обращение к ресурсам DLL из самой DLL - C++
Коллеги, добрый день. Получил следующее задание - Создать библиотеку, DLL назначение которой, выполнить экспорт некоторой функции, в...

Как подключить dll на C# к проекту (dll) на С++ - C++
Подскажите, пожалуйста, как подключить dll на C# к проекту (dll) на С++. В интернете много примеров, где показаны примеры по подключению...

Вызов dll из dll -> request example - C++
Вызывающий код void (*dllHelloWorld) (void); //ok LPCTSTR s = L"dll.dll"; //ok HINSTANCE hlib = LoadLibrary(s); //ok ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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