Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Написать наиболее простую .dll


Автор: Cyclone 11.10.2007, 00:20
Привет.

Нужно написать самую простенькую .dll библиотеку с одной единственной функцией.
В VC++ 2005 с этим не возникает проблем. Однако мне нужно создать библиотеку, используя древненький BorlandC 3.1. : )
В этом проблема. Код, который в VC++ 2005 нормально генерит библиотеку, в BorlandC (BCW в том числе) не компилится, выдавая непонятные мне ошибки.

По найденному в интернете примеру:
Код
#include <windows.h>
#define EXPORT extern "C" __declspec (dllexport)

int WINAPI DllMain(HINSTANCE hInstance, DWORD fdReason, PVOID pvReserved) // здесь ошибка
{
    return TRUE;
}
EXPORT int CALLBACK MyFunction(char *str)
{
    MessageBox(NULL,LPCWSTR(str),L"Function from DLL",MB_OK);
    return 1;
}

Код
Error ..\..\HOOKS\CONS_D~1\CONS_D~1\01.CPP 4: ) expected


В общем... натолкните на мысль, пожалуйста. ;)

Автор: Daevaorn 11.10.2007, 00:30
Цитата(Cyclone @  11.10.2007,  01:20 Найти цитируемый пост)
В общем... натолкните на мысль, пожалуйста. ;) 

BorlandC 3.1 не знает что такое Windows и уж тем более dll

Автор: Cyclone 11.10.2007, 01:39
А Borland C++ for Windows (ver 3.1)?

Или, начиная с какой версии, компилятор "знает, что такое .dll"?

Автор: Daevaorn 11.10.2007, 01:42
Цитата(Cyclone @  11.10.2007,  02:39 Найти цитируемый пост)
А Borland C++ for Windows (ver 3.1)? 

http://en.wikipedia.org/wiki/Borland_C%2B%2B. но лучше возьми что-то кординольно новее.

Автор: dizzy1984 16.10.2007, 11:24
Зверя подобного borland c вообще нет, есть borland c++ это компилятор c++, но он умеет также компилировать программы на си. На сколько я помню, borland C++ 3.1 может создавать только 16-ти битные dll и приложения, т.е все это будет работать только в windows 3.11 и ниже. А как это делается конкретно смотри в книжках "Руководство программиста" и "Руководство пользователя" или подобных. 
Если тебе люб этот компилятор, то для написания длл-к надо найти более новую версию - либо какую-то из 4-х, либо 5-ю, которые уже выполнены как виндовые приложения с gui-средами. Но, пожалуй, проще всего написать длл-ку на вижуал студии и не париться.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)