Hi!
12-Апр-2004 00:22 [EMAIL PROTECTED] (Bart Oldeman) wrote to
[EMAIL PROTECTED]:
>> Forged to remove old INITHEADERS. Also, what bad in "$(HDR)*.h", why
>> enumerating .h files is better?
BO> It's not better as such, but I'm not sure if * works for all the different
BO> make tools we are using. It's safer.
Don't sure about "safer", but you may sometime forget to update manual
list when something will be changed (renamed or added) in ../hdr. :)
BO> The same problem occurs with !ifdef -- esp Borland MAKE version 2.0.
BO> You might want to check out Turbo C 2.01 as our lowest common denominator
BO> compiler:
BO> http://community.borland.com/article/images/20841/tc201.zip
BO> it's 1074 KB.
Ok, I try to download this.
>> PPS: trailing spaces wasn't removed. :(
BO> Too many formatting changes make me tired when reading the diff...
When $(CONFIGURATION) replaced by $(TARGET).lnk, changes anyway
present.
BO> I don't see the point of changing ":- " to "::".
Because I wish to make more clear difference between plain comments and
commented commands.
BO> Similarly you still have too many optimizations which aren't.
They are (usually) such for BC. Some changes I begin to check also with
OW.
BO> For Watcom the code only becomes larger if you replace far pointers p->baz by
BO> explicit ((foo *)MK_FP(bar,0))->baz.
BO> Maybe if you use something like
BO> #if defined(__TURBOC__) && (__TURBOC__ > 0x202)
BO> #define para2far(seg) ((void _seg *)(seg))
Nice. Though:
#if __TURBOC__ > 0x202
/* by standard, non-defined names replaced by 0. */
/* if you worry, that __TURBOC__ may be empty definition:
#define __TURBOC__
(and defined() doesn't saves in this case), you may use "+0":
#if __TURBOC__+0 > 0x202
*/
# define FP_PTR(type,seg,ofs) ((type far*) MK_FP (seg, ofs))
# define FP_SEG_PTR(type,seg) ((type _seg*)(seg))
Explicit castings should ease to transit sources to C++ compilers.
BO> #else
BO> #define _seg far
BO> #define para2far(seg) (MK_FP(seg,0))
# define FP_PTR(type,seg,ofs) ((type far*) MK_FP (seg, ofs))
# define FP_SEG_PTR(type,seg) ((type far*) MK_FP (seg, 0))
BO> #endif
BO> psp _seg *p = para2far(cu_psp);
psp _seg *p = FP_SEG_PTR (psp, cu_psp);
BTW, using such names as `psp', `seg' for types is misleading (looks
like variable names). I think, `PSP' and `seg_t' in given case is better.
BO> r.es = FP_SEG(p->ps_filetab);
BO> r.di = FP_OFF(p->ps_filetab + bx);
BO> it will improve a bit and it's not too ugly.
Fine.
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id70&alloc_id638&op=click
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel