Article View: comp.windows.ms.programmer
Article #1182Re: Changes MS should make to the windows.h file
From: John Munsch
Date: Wed, 30 Jan 1991 16:03
Date: Wed, 30 Jan 1991 16:03
77 lines
3213 bytes
3213 bytes
In article <1991Jan26.010935.4400@maytag.waterloo.edu> giguere@csg.waterloo.edu (Eric Giguere) writes:
>1) Put in something similar to:
>
> #ifndef WINDOWS_H_INCLUDED
> #define WINDOWS_H_INCLUDED
>
> blah blah blah
>
> #endif /* WINDOWS_H_INCLUDED */
>
> Right now I kludge it by testing for the PASCAL macro.
Agreed, and they also need
#ifdef __cplusplus
extern "Pascal" {
#endif
blah blah blah
#ifdef __cplusplus
}
#endif
for compatability with C++ compilers.
>3) Make it smaller/split it up. Probably a pipe dream here.
No need to make it smaller or split it up. Instead try NEW IMPROVED inhibit.h.
// inhibit.h
// tab_size: 4
// Inhibit sections of WINDOWS.H
#define NOGDICAPMASKS // CC_*, LC_*, PC_*, CP_*, TC_*, RC_
#define NOVIRTUALKEYCODES // VK_*
#define NOWINMESSAGES // WM_*, EM_*, LB_*, CB_*
#define NOWINSTYLES // WS_*, CS_*, ES_*, LBS_*, SBS_*, CBS_*
#define NOSYSMETRICS // SM_*
#define NOMENUS // MF_*
#define NOICONS // IDI_*
#define NOKEYSTATES // MK_*
#define NOSYSCOMMANDS // SC_*
#define NORASTEROPS // Binary and Tertiary raster ops
#define NOSHOWWINDOW // SW_*
#define OEMRESOURCE // OEM Resource values
#define NOATOM // Atom Manager routines
#define NOCLIPBOARD // Clipboard routines
#define NOCOLOR // Screen colors
#define NOCTLMGR // Control and Dialog routines
#define NODRAWTEXT // DrawText() and DT_*
#define NOGDI // All GDI defines and routines
#define NOKERNEL // All KERNEL defines and routines
#define NOUSER // All USER defines and routines
#define NOMB // MB_* and MessageBox()
#define NOMEMMGR // GMEM_*, LMEM_*, GHND, LHND, associated routines
#define NOMETAFILE // typedef METAFILEPICT
#define NOMINMAX // Macros min(a,b) and max(a,b)
#define NOMSG // typedef MSG and associated routines
#define NOOPENFILE // OpenFile(), OemToAnsi, AnsiToOem, and OF_*
#define NOSCROLL // SB_* and scrolling routines
#define NOSOUND // Sound driver routines
#define NOTEXTMETRIC // typedef TEXTMETRIC and associated routines
#define NOWH // SetWindowsHook and WH_*
#define NOWINOFFSETS // GWL_*, GCL_*, associated routines
#define NOCOMM // COMM driver routines
#define NOKANJI // Kanji support stuff.
#define NOHELP // Help engine interface.
#define NOPROFILER // Profiler interface.
#define NODEFERWINDOWPOS // DeferWindowPos routines
Including this file ahead of windows.h will inhibit virtually everything
initially, but experience will tell you the handful of #defines that you need
to comment out. Most of my apps only have 5 or 6 sections of windows.h used
and as a result they now compile even FASTER! Yay!
John Munsch
Technical Details
Message-ID:
<27127@spudge.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!evax!utacfd!merch!spudge!johnmReferences:
<1991Jan26.010935.4400@maytag.waterloo.edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!evax!utacfd!merch!spudge!johnm From: johnm@spudge.UUCP (John Munsch) Newsgroups: comp.windows.ms.programmer Subject: Re: Changes MS should make to the windows.h file Message-ID: <27127@spudge.UUCP> Date: 30 Jan 91 16:03:04 GMT References: <1991Jan26.010935.4400@maytag.waterloo.edu> Reply-To: johnm@spudge.UUCP (John Munsch) Distribution: na Organization: Friends of Guru Bob Lines: 77