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

Reply via email to