Thread View: comp.std.c++
1 messages
1 total messages
Started by Claus A. Faerber
Tue, 20 Feb 1996 18:39
Re: Are all Windows programs ill-formed?
Author: Claus A. Faerber
Date: Tue, 20 Feb 1996 18:39
Date: Tue, 20 Feb 1996 18:39
49 lines
2912 bytes
2912 bytes
Claus A. Faerber <claus@faerber.muc.de> (07 Feb 96):
> David Byrden <100101.2547@compuserve.com> (02 Feb 96):
>
> > >> It requires every program to have the main() function (which
> > >> implementation is not allowed to supply) with parameters (void) or (int
> > >> argc, int*argv[]). However, Windows programs have another convention:
> > >> prrogram must contain the function int WinMain
> >
> > I remember reading that you can write a Windows program with a main()
> > function and the usual command line arguments, and then the Microsoft
> > compiler will then generate WinMain somehow....but that the "operating
> > system" does link to WinMain.
>
> No, the operating system doesn't care whether there is a
> WinMain(), a main() or anything else. It just reads a
> pointer from the exe file and calls it. This is usually the
> C/C++ statup code, which then calls WinMain() or main().
> If there is a main present, the linker makes the startup
> code call it, if not the linker either sets in an own
> main(), which calls WinMain(), or another startup code,
> which calls main().
^^^ should be: WinMain()
But at all, there's no problem with Windows programs:
* If you're writing Win32 console apps or using special
libraries like EasyWin or QuickWin (which allow normal text
in/out operations in the Windows GUI), you will have a
standard main()
* If you're programming native Win16/32 GUI apps, you're
using an extended/modified C/C++-standard (unhosted env.),
as you don't have stdin/out/error and hundreds(thousands?)
of functions invading your namespace and: no main(), but Win/
LibMain.
Claus
------------------------------------------------------------------------
Claus Andre Faerber - claus@faerber.muc.de - http://www.muc.de/~cfaerber
------------------------------------------------------------------------
---
[ To submit articles: Try just posting with your newsreader. If that fails,
use mailto:std-c++@ncar.ucar.edu
FAQ: http://reality.sgi.com/employees/austern_mti/std-c++/faq.html
Policy: http://reality.sgi.com/employees/austern_mti/std-c++/policy.html
Comments? mailto:std.c++-request@ncar.ucar.edu
]
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads