Коппиляция без инклуд

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

  1. rudik

    rudik Руденко Артём

    Публикаций:
    0
    Регистрация:
    6 дек 2006
    Сообщения:
    302
    Адрес:
    г. Харьков
    Подскажите пожалуйста как скомпилировать екзешку например с MessageBoxA без подключения windows.h и других библиотек в MS VC++ 2005.
     
  2. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Это не библиотеки, это заголовочные файлы. Можно перенести прототипы ф-ий в сам .c файл, например.

    А зачем это нужно?
     
  3. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.734
    А смысл ???
     
  4. maxdiver

    maxdiver Max

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    308
    Адрес:
    Саратов
    Ну объявить просто:
    Код (Text):
    1. extern "C" int __stdcall MessageBoxA (void*,const char*,const char*,unsigned);
    можно ещё HWND объявить:
    Код (Text):
    1. struct HWND__ { int unused; };
    2. typedef HWND__ *HWND;
     
  5. doesn

    doesn New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2007
    Сообщения:
    97
    а какой в этом смысл? прототипы ичего не жрут
    или я не прав?
     
  6. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    doesn
    Единственный смысл - независимость от пакета (sdk/библиотек).
     
  7. device

    device Reflection

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    1.198
    Адрес:
    RF
    На практике - никакого смысла.

    Ну, если я отдаю прогу клиенту, то обычно говорю, что для ее сборки требуются:
    1. [список библиотек ]
    2. [список .h файлов ]
    3. [список утилит ]
     
  8. n0hack

    n0hack New Member

    Публикаций:
    0
    Регистрация:
    3 июн 2008
    Сообщения:
    71
    rudik
    Я так понимаю, Вы используете Express Edition, в комплекте которой нет соответствующих заголовочных файлов и библиотек. Установите Platform SDK. Последний доступен для бесплатного скачивания на microsoft.com.
    http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm

    Или вот Вам все необходимые файлы (.7z, 41,7 Мб):
    http://rapidshare.com/files/128979573/SmallPSDK.7z
     
  9. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Жизнь без секса)))
     
  10. osrootd

    osrootd New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2008
    Сообщения:
    1.086
    создайте hello, world на си.
    наберите: gcc -save-temps hello.c
    Посмотрите на один из файлов. На самый большой. Это - ваше hello без инклуд. ВСЕ инклуды в одном файле.
    Можете его откомпилить - получите тот же hello