RFC: Compiling as 16 bit
morten.roenne at tdcadsl.dk
Thu Sep 2 14:11:14 CDT 2010
This is related to the creation of the DOS test programs for which I
have sent another mail.
But this is a more generic question relating to the fact that openwatcom
is a 16 bit compiler while gcc (of course) is a 32 bit compiler.
Currently this have lead me to drop the inclusion of the files windef.h
and winbase.h, because the definitions created aren't of the correct
size (int is 16 bit, not 32 bit and so on).
I am looking for a way to change windef.h so that it will create the
correct base types for both 16 and 32 bit compile.
Openwatcom defines the symbol __I86__ while compiling for 16 bit, is it
acceptable that I use that to create 16 bit types?
It seems that _MSC_VER will change a few cases of int to long, but far
Is _MSC_VER intended to be a 16 bit compile flag?
Or should I use something else more wine like (e.g. __WINE_16BIT_COMPILE).
Also compiling 16 bit give some errors in other include files (after I
have defined proper sizes for the 16 bit compile)
../../../include/winnt.h(3529): Error! E1040: Field width too large
As it can be seen the include file uses unsigned directly and not a type
like DWORD or ULONG that would be a "safe" 32 bit.
Would it be acceptable to change this and others to a "proper" type
which I know to be size safe?
More information about the wine-devel