Thread overview | |||||||||
---|---|---|---|---|---|---|---|---|---|
|
February 11, 2015 Why is one d file compiled into two files object file & executable. | ||||
---|---|---|---|---|
| ||||
Hi I am coming from Java. What is the purpose of an object file & why is it generated at compile time in addition to an executable. I know C generates an object file too, but I don't know what the use is. Please point me to any detailed documentation u may have regarding object files. Also does D have any facilities for dynamic code generation & compilation ? Thankyou Sincerely Venkat |
February 11, 2015 Re: Why is one d file compiled into two files object file & executable. | ||||
---|---|---|---|---|
| ||||
Posted in reply to Venkat Akkineni | On Wednesday, 11 February 2015 at 05:08:16 UTC, Venkat Akkineni wrote: > Hi > > I am coming from Java. What is the purpose of an object file & why is it generated at compile time in addition to an executable. I know C generates an object file too, but I don't know what the use is. > Hi Venkat, The object files are kind of an intermediate format produced by the compiler, to be used by the linker in generating the executable. > Please point me to any detailed documentation u may have regarding object files. > If you wish to learn more the following Wikipedia article is a reasonable starting point. http://en.wikipedia.org/wiki/Object_file > Also does D have any facilities for dynamic code generation & compilation ? > Yes, it does. D has good support for meta-programming, look at http://ddili.org/ders/d.en/ under the template and mixin sections, and also http://qznc.github.io/d-tut/meta.html |
February 11, 2015 Re: Why is one d file compiled into two files object file & executable. | ||||
---|---|---|---|---|
| ||||
Posted in reply to Venkat Akkineni | On Wednesday, 11 February 2015 at 05:08:16 UTC, Venkat Akkineni wrote:
> I am coming from Java. What is the purpose of an object file & why is it generated at compile time in addition to an executable. I know C generates an object file too, but I don't know what the use is.
Java uses a similar process: it has to generate .class files before they can be packed into a .jar file.
|
February 11, 2015 Re: Why is one d file compiled into two files object file & executable. | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kagamin | On Wednesday, 11 February 2015 at 07:42:31 UTC, Kagamin wrote:
> On Wednesday, 11 February 2015 at 05:08:16 UTC, Venkat Akkineni wrote:
>> I am coming from Java. What is the purpose of an object file & why is it generated at compile time in addition to an executable. I know C generates an object file too, but I don't know what the use is.
>
> Java uses a similar process: it has to generate .class files before they can be packed into a .jar file.
I thought about making that analogy myself, but then decided that it is likely to be more confusing than helpful. There are similarities, but there are also numerous distinctions.
First to mind is that in Java .class files are executable (in Java runtime), while object files are not.
A .jar file is just a organized collection of .class files (in a compressed container). In that sense a .jar file is perhaps more akin to a .lib file.
|
February 11, 2015 Re: Why is one d file compiled into two files object file & executable. | ||||
---|---|---|---|---|
| ||||
Posted in reply to Venkat Akkineni | On Wednesday, 11 February 2015 at 05:08:16 UTC, Venkat Akkineni wrote: > Hi > > I am coming from Java. What is the purpose of an object file & why is it generated at compile time in addition to an executable. I know C generates an object file too, but I don't know what the use is. > > Please point me to any detailed documentation u may have regarding object files. > > Also does D have any facilities for dynamic code generation & compilation ? > > Thankyou > Sincerely > Venkat It's not D-specific, every compiler for a compiled language produces objects: http://en.wikipedia.org/wiki/Object_file |
February 11, 2015 Re: Why is one d file compiled into two files object file & executable. | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andre Artus | On Wednesday, 11 February 2015 at 08:49:40 UTC, Andre Artus wrote:
> First to mind is that in Java .class files are executable (in Java runtime), while object files are not.
There was a library, which could load object files with D code, resolve symbols and execute it.
|
February 11, 2015 Re: Why is one d file compiled into two files object file & executable. | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kagamin | http://www.dsource.org/projects/ddl |
Copyright © 1999-2021 by the D Language Foundation