No header files?

Yigal Chripun yigal100 at gmail.com
Fri Oct 23 17:11:58 PDT 2009


On 23/10/2009 21:52, Steven Schveighoffer wrote:
> On Fri, 23 Oct 2009 15:50:18 -0400, Walter Bright
> <newshound1 at digitalmars.com> wrote:
>
>> Yigal Chripun wrote:
>>>> Shared libraries are inherently not portable from system to system.
>>> only if you consider dlls and so. Java jars are portable. so do .net
>>> assemblies.
>>
>> Jars and .nets are not executable code. Dlls and shared libraries are.
>
> .net assemblies built by visual studio are packaged as dlls. Although I
> don't know exactly how they are executed, I'm sure it's some sort of
> bytecode.
>
> Just saying...
>
> -Steve

from wikipedia:
In the Microsoft .NET framework, an assembly is a partially compiled 
code library for use in deployment, versioning and security. There are 
two types: process assemblies (EXE) and library assemblies (DLL). A 
process assembly represents a process which will use classes defined in 
library assemblies. .NET assemblies contain code in CIL, which is 
usually generated from .NET languages, and then compiled into machine 
language at runtime by the CLR just-in-time compiler.

An assembly can consist of one or more files. Code files are called 
modules. An assembly can contain more than one code module and since it 
is possible to use different languages to create code modules it is 
technically possible to use several different languages to create an 
assembly.

I read somewhere (I can't seem to find the reference ATM) that if you 
install a .net app with signed assemblies, the installer will compile 
the assemblies into native executable code (ahead-of-time) and will 
store them in a system cache.
all the system assemblies are pre-compiled like this.



More information about the Digitalmars-d mailing list