www.digitalmars.com         C & C++   DMDScript  

c++ - Module=SDS.lib(c)

reply veb <vebveb hotmail.fr> writes:
Hello,

I have to made a program with the small model of dos 16 bits, so it use
SDS.lib to link.

But To use the programme, I need that the 'Program entry point' is before the
segment 0000:8000
Nowaday, my Program entry point is at 0000:8234, so I have a problem

In a detailed map link, I see:
0822EH 08452H 00225H   Module=SDS.lib(c)
So the program begin in Module=SDS.lib(c)

How could I put this module in an other segment (for example 0000:0000 or
0000:6000)?
Jan 04 2010
parent reply Walter Bright <newshound1 digitalmars.com> writes:
veb wrote:
 Hello,
 
 I have to made a program with the small model of dos 16 bits, so it use
 SDS.lib to link.
 
 But To use the programme, I need that the 'Program entry point' is before the
 segment 0000:8000
 Nowaday, my Program entry point is at 0000:8234, so I have a problem
 
 In a detailed map link, I see:
 0822EH 08452H 00225H   Module=SDS.lib(c)
 So the program begin in Module=SDS.lib(c)
 
 How could I put this module in an other segment (for example 0000:0000 or
 0000:6000)?

Use the lib program to extract the object module from sds.lib that has the entry point, and put that object module first in the command to the linker.
Jan 04 2010
parent reply veb <vebveb hotmail.fr> writes:
Thank you, it works very well!


An other question: I don't use double number(only float), but:
08B9EH 09B30H 00F93H   Module=SDS.lib(double)
It take some place (3ko, and I'm limit to 64ko code)
How could I compile without the 'double' definition?
Jan 04 2010
parent reply Walter Bright <newshound1 digitalmars.com> writes:
veb wrote:
 An other question: I don't use double number(only float), but:
 08B9EH 09B30H 00F93H   Module=SDS.lib(double)
 It take some place (3ko, and I'm limit to 64ko code)
 How could I compile without the 'double' definition?

Provide your own definition of the public symbols in it, then they won't get linked in from the library.
Jan 04 2010
parent veb <vebveb hotmail.fr> writes:
I tryed:
#undef double
#define double float
but it doesn't do anythind, and I tryed to replace every double and long double
in
my  /include to float, but it doesn't change anything.

I think Digital mars is a very good compiler, very fast for compile and to
execute, but the exe are maybe a bit biger and the function gotoxy doesn't
exist.

Thanks for everything
== Extrait de l'article de « Walter Bright (newshound1 digitalmars.com) »
 veb wrote:
 An other question: I don't use double number(only float), but:
 08B9EH 09B30H 00F93H   Module=SDS.lib(double)
 It take some place (3ko, and I'm limit to 64ko code)
 How could I compile without the 'double' definition?

get linked in from the library.

Jan 05 2010