C++ точка входа как статический метод

Тема в разделе "LANGS.C", создана пользователем float, 26 дек 2010.

  1. float

    float New Member

    Публикаций:
    0
    Регистрация:
    7 янв 2010
    Сообщения:
    113
    попробуй с /MT
     
  2. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    и чему вы удивляетесь, если отключили стандартные либы... это буффер секьюрити чек наверное...

    не должно иметь значения...
     
  3. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Пробовал.
     
  4. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    float
    Как вы точку ставите?
     
  5. float

    float New Member

    Публикаций:
    0
    Регистрация:
    7 янв 2010
    Сообщения:
    113
    [​IMG]

    как вы сказали, так все работает.

    С /МТ получаем это

    [​IMG]
     
  6. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    Например?
     
  7. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    самые банальные примеры:
    Код (Text):
    1. class Test
    2. {
    3. public:
    4. Test(int a);
    5. ~Test();
    6. private:
    7. int m_a;
    8. };
    9.  
    10. Test::Test(int a)
    11. { m_a = a; }
    12.  
    13. Test glTest(3);
    14.  
    15. int main()
    16. {
    17. // Глобальный объект glTest не инициализирован
    18. // так, как _initterm не вызывался
    19. }
    Код (Text):
    1. int main()
    2. {
    3. Test* locTest = new Test(3);
    4. // Ошибка линковки - раз, так как не определен оператор new (если отключили CRT)
    5. // Ошибка исполнения - не инициализирована CRT-куча (если CRT включена, но не было инициализаций)
    6. delete locTest;
    7. // Тоже самое
    8. }
     
  8. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    глобалки поинтерами держать.
    new/delete ofc нужно самому переопределить.
    да хотя бы банальное:
    Код (Text):
    1. extern "C" __declspec(restrict) __declspec(noalias) void* malloc(size_t size)
    2. {
    3.     return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size);
    4. }
    5.  
    6. extern "C" void __declspec(noalias) free(void* p)
    7. {
    8.     if (p)
    9.         HeapFree(GetProcessHeap(), 0, p);
    10. }
    11.  
    12. extern "C" __declspec(restrict) __declspec(noalias) void* realloc(void* p, size_t newSz)
    13. {
    14.     if (p)
    15.         if (newSz)
    16.             return HeapReAlloc(GetProcessHeap(), 0, p, newSz);
    17.         else
    18.             free(p);
    19.     return p;
    20. }
    21.  
    22. void* operator new(size_t size)
    23. {
    24.     return malloc(size);
    25. }
    26.  
    27. void operator delete(void* p)
    28. {
    29.     if (p)
    30.         free(p);
    31. }
    32.  
    33. void* operator new[](size_t size)
    34. {
    35.     return (operator new(size));
    36. }
    37.  
    38. void operator delete[](void* p)
    39. {
    40.     operator delete(p);
    41. }
     
  9. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    да никто собственно не мешает на "чистом винапи" программировать...
     
  10. float

    float New Member

    Публикаций:
    0
    Регистрация:
    7 янв 2010
    Сообщения:
    113
    а если "правильно" делать приложение на чистом(если это можно так назваать) ооп в С++, всеравно нужно все из функции мейн делать?
     
  11. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    даже делфи, ага.
     
  12. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    float
    Сообщение выглядит так, как будто забыли поставить точку входа. Может поставили только для дебага? Или приаттачте проект. Или вы с crt линкуете? С crt так не выйдет.