Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> EXE и DLL файл 
:(
    Опции темы
Cricket2007
Дата 14.8.2008, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 19.7.2008
Где: Харьков

Репутация: нет
Всего: нет



Вопрос такой: Как сделать так чтоб exe файл вызывал из dlll файла нужные ему функциии ? 
Я вообщем что хочу сделать в cpp файле написать только main функцию и вызовы тех функций которые напишу в dll но вопрос как связать dll и exe которые будут в одной папке  ? тип проекта консоль в Visual C++ 6.0
P. S  надеюсь правильно и понятно объяснил 
PM   Вверх
Andrey44
Дата 15.8.2008, 07:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

Репутация: 2
Всего: 26



Если длл с файлом *.lib и *.h в проекте делаешь
Код

#include "*.h"

#pragma comment (lib, "*.lib")

int main(...........)
{
//тут вызываешь функции из длла
}


Если их нет - то вот просто привожу пример
Код

HINSTANCE hLibNT=LoadLibrary(_T("ntdll.dll"));
PROCNTQSI NtQuerySystemInformation = (PROCNTQSI)GetProcAddress(hLibNT, "NtQuerySystemInformation");



--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
Cricket2007
Дата 15.8.2008, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 19.7.2008
Где: Харьков

Репутация: нет
Всего: нет



Чот не получилось компилятор  пишет что не может открыть dll  я не знаю может это изврат но я сделал так создал проект типа dll вписал туда функцию скомпилил получился dll файлик  потом создал другой проект типа консоль там написал прототип той функции что в dll потом #pragma comment (lib, "имя dll-ки.lib") потом main и вызов функции которую писал в dll-ке  и подсунул свою dll-ку в папку проекта консоли  а второй вариан пока не разбирал 
PM   Вверх
W4FhLF
Дата 15.8.2008, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



Цитата(Cricket2007 @  15.8.2008,  10:21 Найти цитируемый пост)
но я сделал так создал проект типа dll вписал туда функцию скомпилил получился dll файлик 


Тебе нужна статическая библиотека -- *.lib, а не динамическая dll. 

Соответственно в при сборке надо указать какие функции экспортировать

После получишь lib файл. В консольном проекте подключишь его:

Код

#pragma comment(lib, "module.lib")


После чего объявишь функцию из библиотеки:

Код

extern "C" { 
    void _stdcall somefunc(/* parameters */); 



Это сообщение отредактировал(а) W4FhLF - 15.8.2008, 10:43


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Cricket2007
Дата 15.8.2008, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 19.7.2008
Где: Харьков

Репутация: нет
Всего: нет



Ок буду пробовать я вообще чо такой вопрос поднял потому что я обралил внимание что в программках бывает так что в одной папке экзешник и с ним несколько dll-ок и я вот думаю чо так? можно ж содержимое dll-ок было написать в 1 экзешник  но так наверное никакой экономии оперативы не будет я прав? или нет?
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0682 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.