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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с вызовом winapi 
:(
    Опции темы
nadge
Дата 9.3.2005, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Короче поставил сегодня MSVC++.NET. Мне нужно написать маленькую программку. Ну я отрубил стандартные библиотеки, объединил секции кода и данных и т.п. ОК. MessageBox проверил - работает. Теперь пишу:
Код

#include <windows.h>

void WINAPI MMain()
{
    WSADATA wsaData;
    if(WSAStartup(MAKEWORD(1,1), &wsaData)!=0) return;
    if(LOBYTE(wsaData.wVersion)!=1 || HIBYTE(wsaData.wVersion)!=1) {
        WSACleanup();
        return;
    }

    MessageBoxA(0,"тест","тест",0);
    ExitProcess(0);
}

И Опа! Линкер мне выдает "meliska error LNK2019: unresolved external symbol ___security_cookie referenced in function "void __stdcall MMain(void)" (?MMain@@YGXXZ)"
Методом комментирования установил, что ругаетсч он на строчку "WSADATA wsaData;".

Код я взял из программы на VC++6.0 и там все работало.


Вобщем, прошу помощи. Заранее спасибо

Это сообщение отредактировал(а) nadge - 9.3.2005, 20:04
PM MAIL   Вверх
nadge
Дата 9.3.2005, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Попробовал иначе:
Код

typedef struct MelWSAData {
        WORD                    wVersion;
        WORD                    wHighVersion;
        char                    szDescription[WSADESCRIPTION_LEN+1];
        char                    szSystemStatus[WSASYS_STATUS_LEN+1];
        unsigned short          iMaxSockets;
        unsigned short          iMaxUdpDg;
        char FAR *              lpVendorInfo;
} MELWSADATA;


void WINAPI MMain()
{
    MELWSADATA wsaData;

}


Ругается. Если закомментить "MELWSADATA wsaData;", то не ругается. Т.е. проблема со структурами.

А если объявить MMain как _declspec(naked), то не ругается и нормально все линкует.

Это сообщение отредактировал(а) nadge - 9.3.2005, 20:23
PM MAIL   Вверх
nadge
Дата 9.3.2005, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Все, разобрался. Тему можно закрыть.
PM MAIL   Вверх
Alexandr87
Дата 10.3.2005, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

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



помоему для корректной работы WSAStartup необходимо ws2_32.lib подключить
PM Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

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

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

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

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


 




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


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

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