удалить префикс функции

Тема в разделе "WASM.WIN32", создана пользователем qwqwqwqw, 31 мар 2009.

  1. qwqwqwqw

    qwqwqwqw New Member

    Публикаций:
    0
    есть например программка какая нить ....

    Код (Text):
    1. #include <windows.h>
    2.  
    3. int _stdcall WinMain(HINSTANCE ,HINSTANCE ,LPSTR,int){
    4.     MessageBox(0,"windows","title",0);
    5.     return 1 ;
    6. }
    как сделать чтобы винмаин не создавал кода своего

    а шла сразу исходная программа ?
     
  2. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    #include <windows.h>
    #pragma comment(linker,"/entry:Main")

    int Main(){
    MessageBox(0,"windows","title",0);
    return 1 ;
    }
     
  3. qwqwqwqw

    qwqwqwqw New Member

    Публикаций:
    0
    Linking...
    LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
    Debug/MessageBox.exe : fatal error LNK1120: 1 unresolved externals
     
  4. qwqwqwqw

    qwqwqwqw New Member

    Публикаций:
    0
    я создаю Win 32 Application

    может что то другое надо ?
     
  5. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    #include <windows.h>
    #pragma comment(linker,"/entry:main")

    int main(){
    MessageBox(0,"windows","title",0);
    return 1 ;
    }
     
  6. GorluM

    GorluM николай gorl

    Публикаций:
    0
    а можно вообще так (без сишного пролога функции):

    Код (Text):
    1. #include <windows.h>
    2. #pragma comment(linker,"/entry:main")
    3.  
    4. __declspec(naked) void main()
    5. {
    6.     __asm {
    7.         xor eax, eax
    8.         ret
    9.    }
    10. }
     
  7. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    GorluM
    если нет локальных переменных его и так не будет,
    но без пролога локальные переменные не заработают
     
  8. pr0mix

    pr0mix New Member

    Публикаций:
    0
    Еще, было такое, что запустить удавалось только в релизе, а в дебажной версии только скомпилить.