ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

не могу присоеденить библиотеку
  #1  
Старый 10.03.2010, 11:20
al072
Новичок
Регистрация: 25.05.2008
Сообщений: 20
Провел на форуме:
44941

Репутация: 0
По умолчанию не могу присоеденить библиотеку

Не могу скомпилировать следующий код:
Код:
#include <winsock>
#pragma comment (lib,"WSock32.Lib")
#include <iostream>


using namespace std;

void main()
{
  WSAData WSData;
  WSAStartup(0x101,&WSData);
  SOCKET S = socket(AF_INET,SOCK_STREAM,0);
  sockaddr_in SA;
  SA.sin_family=AF_INET;
  SA.sin_port=htons(3135);
  SA.sin_addr.S_un.S_addr=INADDR_ANY;
  bind(S,(sockaddr*)&SA,sizeof(SA));
  listen(S,SOMAXCONN);
 
  SOCKET NS;
  while ((NS = accept(S,0,0))!=INVALID_SOCKET)
  {
    cout<<"-------------------->\n";
    cout<<"Connected...\n";
    char n = 0;
    recv(NS,&n,1,0);
    cout<<"Received Length = "<< int(n) <<"\n";
    char* a=new char[100];
    recv(NS,a,n,0);
    cout<<"Received: \"";
    for (int i=0;i<n;i++) { cout<<a[i]; }
    cout<<"\"\n";
    closesocket(NS);
    cout<<"-------------------->\n";
  }
  closesocket(S);
  int n;
компилятор ругается: fatal error C1083: Cannot open include file: 'winsock': No such file or directory

каким образом мне подключить winsock? работаю в VS2008(VC++)
 
Ответить с цитированием

  #2  
Старый 10.03.2010, 11:26
zeppe1in
Постоянный
Регистрация: 12.07.2006
Сообщений: 327
Провел на форуме:
1654818

Репутация: 117
По умолчанию

#include <winsock2.h>

#pragma comment (lib, "ws2_32.lib")
 
Ответить с цитированием

  #3  
Старый 10.03.2010, 12:52
al072
Новичок
Регистрация: 25.05.2008
Сообщений: 20
Провел на форуме:
44941

Репутация: 0
По умолчанию

Цитата:
Сообщение от zeppe1in  
#include <winsock2.h>

#pragma comment (lib, "ws2_32.lib")
Самое интересное, что так тоже пробовал!в таком случаее выдает другую ошибку: fatal error C1075: end of file found before the left brace '{' at 'c:\users\alex\documents\visual studio 2008\projects\exercise\exercise\exersice.cpp(9)' was matched

не понятно почему компилятор ругается на какие-то скобки?
 
Ответить с цитированием

  #4  
Старый 10.03.2010, 14:07
RDL_Rider
Познающий
Регистрация: 21.06.2009
Сообщений: 81
Провел на форуме:
77148

Репутация: 5
По умолчанию

в конце нет закрывающей?
 
Ответить с цитированием

  #5  
Старый 10.03.2010, 15:53
al072
Новичок
Регистрация: 25.05.2008
Сообщений: 20
Провел на форуме:
44941

Репутация: 0
По умолчанию

Да бывает... забыл скобку закрывающую функцию маин

Возникла следующая проблема. не могу скомпилить релиз так как компилятор выдает следующее сообщение:
The thread 'Win32 Thread' (0xb9c) has exited with code -1073741510 (0xc000013a).
The program '[3940] exercise.exe: Native' has exited with code -1073741510 (0xc000013a).

То есть моя программа если все в порядке должна завершиться с кодом "0". в чем может быть причина?

Последний раз редактировалось al072; 10.03.2010 в 16:10..
 
Ответить с цитированием

  #6  
Старый 10.03.2010, 18:48
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

чтто я у тя не виду в конец слово return в котором ты передаешь статус завершения
 
Ответить с цитированием

  #7  
Старый 10.03.2010, 19:01
fenixelite
Участник форума
Регистрация: 07.02.2010
Сообщений: 189
Провел на форуме:
870084

Репутация: 79
Отправить сообщение для fenixelite с помощью ICQ
По умолчанию

Я конечно могу ошибаться(все таки C++ плохо еще знаю), но ты пробовал сделать что бы все таки main возращало что то.
int main()
.....
return 0;
? Попробуй, вдруг поможет...
 
Ответить с цитированием

  #8  
Старый 10.03.2010, 19:30
al072
Новичок
Регистрация: 25.05.2008
Сообщений: 20
Провел на форуме:
44941

Репутация: 0
По умолчанию

Пробовал конечно! на это компилятор как не странно говорит, что main() не должна ничего возвращать.. ну это с одной строны понятно, потомучто она задана как void, что само собой значит-функция не имеет аргументов и не возвращает значения!
 
Ответить с цитированием

  #9  
Старый 10.03.2010, 22:58
nMonkn
Новичок
Регистрация: 04.01.2010
Сообщений: 25
Провел на форуме:
289818

Репутация: 14
По умолчанию

Цитата:
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
Компилил в релиз в vc2005
Проверь что точно создан консольный проэкт.
Компилил этот код.

Код:
#include <winsock2.h>
#pragma comment (lib,"ws2_32.lib")
#include <iostream>

using namespace std;

void main()
{
  WSAData WSData;
  WSAStartup(0x101,&WSData);
  SOCKET S = socket(AF_INET,SOCK_STREAM,0);
  sockaddr_in SA;
  SA.sin_family=AF_INET;
  SA.sin_port=htons(3135);
  SA.sin_addr.S_un.S_addr=INADDR_ANY;
  bind(S,(sockaddr*)&SA,sizeof(SA));
  listen(S,SOMAXCONN);
 
  SOCKET NS;
  while ((NS = accept(S,0,0))!=INVALID_SOCKET)
  {
    cout<<"-------------------->\n";
    cout<<"Connected...\n";
    char n = 0;
    recv(NS,&n,1,0);
    cout<<"Received Length = "<< int(n) <<"\n";
    char* a=new char[100];
    recv(NS,a,n,0);
    cout<<"Received: \"";
    for (int i=0;i<n;i++) { cout<<a[i]; }
    cout<<"\"\n";
    closesocket(NS);
    cout<<"-------------------->\n";
  }
  closesocket(S);
  int n;
}
 
Ответить с цитированием

  #10  
Старый 11.03.2010, 05:53
M_script_
Постоянный
Регистрация: 29.10.2008
Сообщений: 306
Провел на форуме:
1819761

Репутация: 180
Отправить сообщение для M_script_ с помощью ICQ
По умолчанию

Цитата:
Сообщение от al072  
Возникла следующая проблема. не могу скомпилить релиз так как компилятор выдает следующее сообщение:
The thread 'Win32 Thread' (0xb9c) has exited with code -1073741510 (0xc000013a).
The program '[3940] exercise.exe: Native' has exited with code -1073741510 (0xc000013a).
Не может компилятор такого выдать. Это дебаггер после запуска выдает наверное.
"void main()" измени на "int main()" и возврат в конце добавь.

Еще погугли WSACleanup(void) и shutdown(SOCKET, int)

Последний раз редактировалось M_script_; 11.03.2010 в 05:59..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получил рута на сервере, но и дальше не могу редактировать файлы. inlanger *nix 14 02.03.2010 20:27
не могу авторизоваться на сайте kriPer Болталка 0 14.12.2009 00:48
Евросоюз откроет библиотеку в интернете Спифка Мировые новости 4 20.10.2009 13:46
Plesk 8.2 For Windows 2003 SERVER не могу установить GSM™ Болталка 10 13.12.2008 04:28



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ