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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как подключить DLL к проекту, MSVC++ 6.0 
:(
    Опции темы
Paradox
  Дата 4.3.2003, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Хочу подключить длл к своему проекту. Скопировал Длл в c:\winnt\system32 , либ в директорию своего приложения . А что дальше ? Как инклудить ? Просто на визуале не приходилось такое делать.


--------------------
---
PM MAIL WWW   Вверх
Guest
Дата 4.3.2003, 19:48 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Все делается довольно просто smile.gif
Код

// A simple program that uses LoadLibrary and
// GetProcAddress to access myPuts from MYPUTS.DLL.

#include <stdio.h>
#include <windows.h>

typedef VOID (*MYPROC)(LPTSTR);

VOID main(VOID)
{
   HINSTANCE hinstLib;
   MYPROC ProcAdd;
   BOOL fFreeResult, fRunTimeLinkSuccess = FALSE;

   // Get a handle to the DLL module.

   hinstLib = LoadLibrary("myputs");

   // If the handle is valid, try to get the function address.

   if (hinstLib != NULL)
   {
       ProcAdd = (MYPROC) GetProcAddress(hinstLib, "myPuts");

       // If the function address is valid, call the function.

       if (fRunTimeLinkSuccess = (ProcAdd != NULL))
           (ProcAdd) ("message via DLL function\n");

       // Free the DLL module.

       fFreeResult = FreeLibrary(hinstLib);
   }

   // If unable to call the DLL function, use an alternative.

   if (! fRunTimeLinkSuccess)
       printf("message via alternative method\n");
}

  Вверх
dim
Дата 4.3.2003, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Теперь lib подключай либо в опциях линкера либо с помощью #pragma comment.
--------------------
that's all
PM MAIL   Вверх
Paradox
Дата 11.3.2003, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата
Теперь lib подключай либо в опциях линкера либо с помощью #pragma comment.

а где этот линкер в 7-ой студии или как исплользовать #pragma comment с названием моей длл и в какой файл вписывать (stdafx или нет)


--------------------
---
PM MAIL WWW   Вверх
valex13
Дата 11.3.2003, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 29.1.2003
Где: Иркук. область, г . Иркутск

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



Проще динамическое подкличение использовать. Это почти так же делается.
Вот пример:
m_hLibrary = LoadLibrary("MyDir");
//*********
typedef double(_stdcall *subr1)
(
int i,
int j
);
subr1 GetSolveData;
GetSolveData=(subr1)GetProcAddress(m_hLibrary,"_getsolvedata@8");
if(GetSolveData!=NULL)
{// Работает!
return(GetSolveData(M,P));
}
else
{
MessageBox(0,"Библиотека повреждена!","Ошибка",MB_OK+MB_ICONSTOP);
return(0);
}
Для Debug необходимо включить соответствующую опцию :
Project/Settings/Debug
Выбери Additional Dll и укажи путь к библиотеке.


PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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