Re[2]: Dll в Dll
От: Zhbanito  
Дата: 26.02.07 13:18
Оценка:
Вот код с использованием исходной библиотеки (приложение сетевое)

int main(int argc, char *argv[])
{
ACE_SOCK_Stream sock;
ACE_SOCK_Connector connector;
ACE_INET_Addr addr;
addr.set(13000,"127.0.0.1");
if(connector.connect(sock, addr)==-1)
return -2;
return 1;
}

Код компилируется и сервер подтвеждает что коннект происходит.

А теперь если создать библиотеку B.dll которая использует исходную и сделать функцию:

extern "C"
{
__declspec( dllexport ) int __stdcall Connect()
{
ACE_SOCK_Stream sock;
ACE_SOCK_Connector connector;
ACE_INET_Addr addr;
if (addr.set(13000,"127.0.0.1")==-1)
return -1;
if(connector.connect(sock, addr)==-1)
return -2;
return 1;
}
}
А в главную программу подключить B.dll и снабдить ее [главную программу] таким вот:

int main(int argc, char *argv[])
{
if (Connect()<0)
printf("F@ck");
for(;);
return 1;
}

То на экране высвечивается F@ck, а сервер не регестрирует попытку подключения...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.