непонятно откуда взявщийся код(VS2008)

Тема в разделе "LANGS.C", создана пользователем twgt, 31 янв 2008.

  1. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    Компилирую проект в VS2008.
    В выходном файле вызывается непонятно откуда взявщаеся функция.
    Как я понял, при вызове этой функции ecx содержет указатель на класс, поксоренный на esp, до вызова этой функции. dword_403000 содержит константу. Как избавиться от этого я не понял. На вид этой функции вляют настройки раздела Optimization, но часть функции, начинающаяся с loc_4012D0 всегда имеется.

    Код (Text):
    1.  удалено чтобы не мозолить глаза =)
    Это что, антиотладка? И как это убрать?
     
  2. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    Add
    Код (Text):
    1.     myclass.Connect("www.site.com",80);
    2.     myclass.Disconnect();
    3.    
    4.     ExitProcess(0);
    Код (Text):
    1. bool myclass::Connect(char* server,USHORT port)
    2. //...................................
    3.     if(connect(my_socket,(SOCKADDR*) &serv_addr,sizeof(serv_addr)) ==0)
    4.     {
    5.         connected=true;
    6.         //Тут call    sub_4012C6
    7.                          return true;
    8.     }
    9.     else
    10.                        //И тут call    sub_4012C6
    11.         return false;
     
  3. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
    checkstack ?
    c/c++ - code generation - buffer security check / basic runtime checks - не оно ?
     
  4. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    infern0
    Да, это оно. Спасибо.