Thread overview | |||||||||
---|---|---|---|---|---|---|---|---|---|
|
August 15, 2006 Creating a binary? | ||||
---|---|---|---|---|
| ||||
Hi, when compiling file.d using dmd, file begins like this: ELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, little endian Version: 1 (current) I think this is the reason why D programs are that big ... why aren't binaries created? Peter |
August 15, 2006 Re: Creating a binary? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Peter Thomassen | Peter Thomassen wrote: > Hi, > > when compiling file.d using dmd, file begins like this: > > ELF Header: > Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 > Class: ELF32 > Data: 2's complement, little endian > Version: 1 (current) > > I think this is the reason why D programs are that big ... why aren't binaries created? > > Peter Ehm, this seems like the pretty printed version of an ELF header (which is stored binary btw), much like the one produced by analytical programs like readelf. All ELF binaries (whether executables, shared libs or object files) start like this. -- Lars Ivar Igesund blog at http://larsivi.net DSource & #D: larsivi |
August 15, 2006 Re: Creating a binary? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Lars Ivar Igesund | Hi!
Lars Ivar Igesund schrieb am Dienstag, 15. August 2006 22:46:
> Ehm, this seems like the pretty printed version of an ELF header (which is stored binary btw), much like the one produced by analytical programs like readelf. All ELF binaries (whether executables, shared libs or object files) start like this.
I used less to view the compiled file, and obviously less passes the file through readelf or sth. Using cat file | less, everything looks binary :-) My mistake, sorry.
Anyway: Why are (striped) binaries at least 150 KB of size, even when doing
nothing (void main() { })?
Thanks,
Peter
|
August 15, 2006 Re: Creating a binary? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Peter Thomassen | Peter Thomassen wrote:
> Anyway: Why are (striped) binaries at least 150 KB of size, even when doing
> nothing (void main() { })?
Phobos is statically linked. (for instance libstdc++ is usually dynamic)
--anders
|
September 13, 2006 Re: Creating a binary? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Peter Thomassen |
Peter Thomassen wrote:
> Hi!
>
> Lars Ivar Igesund schrieb am Dienstag, 15. August 2006 22:46:
>
>>Ehm, this seems like the pretty printed version of an ELF header (which is
>>stored binary btw), much like the one produced by analytical programs like
>>readelf. All ELF binaries (whether executables, shared libs or object
>>files) start like this.
>
>
> I used less to view the compiled file, and obviously less passes the file
> through readelf or sth. Using cat file | less, everything looks binary :-)
> My mistake, sorry.
>
> Anyway: Why are (striped) binaries at least 150 KB of size, even when doing
> nothing (void main() { })?
>
> Thanks,
> Peter
150 KB is big?
|
September 13, 2006 Re: Creating a binary? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Hasan Aljudy | Hasan Aljudy wrote:
>
>
> Peter Thomassen wrote:
>> Hi!
>>
>> Lars Ivar Igesund schrieb am Dienstag, 15. August 2006 22:46:
>>
>>> Ehm, this seems like the pretty printed version of an ELF header (which is
>>> stored binary btw), much like the one produced by analytical programs like
>>> readelf. All ELF binaries (whether executables, shared libs or object
>>> files) start like this.
>>
>>
>> I used less to view the compiled file, and obviously less passes the file
>> through readelf or sth. Using cat file | less, everything looks binary :-)
>> My mistake, sorry.
>>
>> Anyway: Why are (striped) binaries at least 150 KB of size, even when doing
>> nothing (void main() { })?
>>
>> Thanks,
>> Peter
>
> 150 KB is big?
My latest stripped DMD (-O -release) generated binary had a code segment of 18 MB. On the other hand, binaries I write for microcontrollers is often smaller than 200 bytes (not using D of course). Everything is relative. :)
/Oskar
|
September 13, 2006 Re: Creating a binary? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Oskar Linde |
Oskar Linde wrote:
> Hasan Aljudy wrote:
>
>>
>>
>> Peter Thomassen wrote:
>>
>>> Hi!
>>>
>>> Lars Ivar Igesund schrieb am Dienstag, 15. August 2006 22:46:
>>>
>>>> Ehm, this seems like the pretty printed version of an ELF header (which is
>>>> stored binary btw), much like the one produced by analytical programs like
>>>> readelf. All ELF binaries (whether executables, shared libs or object
>>>> files) start like this.
>>>
>>>
>>>
>>> I used less to view the compiled file, and obviously less passes the file
>>> through readelf or sth. Using cat file | less, everything looks binary :-)
>>> My mistake, sorry.
>>>
>>> Anyway: Why are (striped) binaries at least 150 KB of size, even when doing
>>> nothing (void main() { })?
>>>
>>> Thanks,
>>> Peter
>>
>>
>> 150 KB is big?
>
>
> My latest stripped DMD (-O -release) generated binary had a code segment of 18 MB. On the other hand, binaries I write for microcontrollers is often smaller than 200 bytes (not using D of course). Everything is relative. :)
>
> /Oskar
>
I have on my computer some anime movies of sizes 200 and 700 MB and more, so 150 KB seems so tiny.
|
Copyright © 1999-2021 by the D Language Foundation