Thread overview | ||||||
---|---|---|---|---|---|---|
|
February 24, 2010 Manipulate .lib or .obj[optimisation again] | ||||
---|---|---|---|---|
| ||||
Hello, I'm looking for tips to optimize the size of one of my program. I see that the sds.lib is make by some part that we can delete or add or extract in a .obj file. But I would like to optimize the siez of my exe and often only a part of these parts are used. For example 'patch16' is composed by FDIV_R FDIV_M32 FDIV_M32I FDIV_M64 FDIVR_M16I FDIVR_M32I FDIVR_M64 FDIVR_M32 FDIV_M16I and when I delete patch16 from sds.lib, I have the error message explaining that FDIV_R is missing. So my programm use only FDIV_R. Patch16 take 2020 bytes in my exe. Thus I would like to delete in Patch16.obj what I don't need to reduce the size of my .exe. I tryed to dissassemble it with obj2asm, but I can't reassemble only what I want to reduce the size (more than 100 error messages because some things are not defined) How could I reduce the size of my exe, deleting or extracting what I want in Patch16.obj(for example)? Thanks for help. |
February 25, 2010 Re: Manipulate .lib or .obj[optimisation again] | ||||
---|---|---|---|---|
| ||||
Posted in reply to veb | veb wrote: > Hello, > > I'm looking for tips to optimize the size of one of my program. > > I see that the sds.lib is make by some part that we can delete or add or > extract in a .obj file. > > But I would like to optimize the siez of my exe and often only a part of these > parts are used. For example 'patch16' is composed by > FDIV_R FDIV_M32 > FDIV_M32I FDIV_M64 > FDIVR_M16I FDIVR_M32I > FDIVR_M64 FDIVR_M32 > FDIV_M16I > > and when I delete patch16 from sds.lib, I have the error message explaining > that FDIV_R is missing. So my programm use only FDIV_R. > > Patch16 take 2020 bytes in my exe. Thus I would like to delete in Patch16.obj > what I don't need to reduce the size of my .exe. > > I tryed to dissassemble it with obj2asm, but I can't reassemble only what I > want to reduce the size (more than 100 error messages because some things are > not defined) > > How could I reduce the size of my exe, deleting or extracting what I want in > Patch16.obj(for example)? > > Thanks for help. patch16.asm is a file originally supplied by Intel to workaround the pentium floating point bug. It probably isn't necessary at all unless you have such a chip. So I'd ensure you are not compiling anything with -fd http://www.digitalmars.com/ctg/sc.html#dashfd |
February 26, 2010 Re: Manipulate .lib or .obj[optimisation again] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright |
> patch16.asm is a file originally supplied by Intel to workaround the
> pentium floating point bug. It probably isn't necessary at all unless
> you have such a chip. So I'd ensure you are not compiling anything with -fd
> http://www.digitalmars.com/ctg/sc.html#dashfd
I don't use any Intel chip. (I don't have a coproccessor).
I compile whith the arguments: -2 -Pz -Jm -R -Ab -gg -msd -o+space -Nc
If my programm doesn't need patch16, how could I disable its utilisation? (when I delete it from sds.lib, It doesn't compile because it lack FDIV_R)
Thanks for help (and sorry for my bad english)
|
March 12, 2010 Re: Manipulate .lib or .obj[optimisation again] | ||||
---|---|---|---|---|
| ||||
Posted in reply to veb | veb wrote:
>> patch16.asm is a file originally supplied by Intel to workaround the
>> pentium floating point bug. It probably isn't necessary at all unless
>> you have such a chip. So I'd ensure you are not compiling anything with -fd
>> http://www.digitalmars.com/ctg/sc.html#dashfd
>
> I don't use any Intel chip. (I don't have a coproccessor).
> I compile whith the arguments: -2 -Pz -Jm -R -Ab -gg -msd -o+space -Nc
>
> If my programm doesn't need patch16, how could I disable its utilisation? (when I
> delete it from sds.lib, It doesn't compile because it lack FDIV_R)
>
> Thanks for help (and sorry for my bad english)
>
One way is to rebuild sds.lib to without -fd. Another way is to look in sds.lib and remove the module that references FDIV_R. A third way is to provide your own FDIV_R function.
|
Copyright © 1999-2021 by the D Language Foundation