On Wed, Jan 02, 2008 at 01:59:26PM -0800, SJS wrote:

What is a ".exe" on a *nix box anyway?
It can't mean "executable program", as we already have a term for that....

Microsoft uses '.exe' for many different things.  One of them happens to
be a CLR executable.  The spec actually specifies a binary blob as a header
on the file.  It's a windows executable snippet that asks the OS to run the
bytecode with the bytecode engine, kind of like "#!" implemented by morons.

Under Linux, they are directly executable, if you enable support for "misc
binaries" in the kernel, and do something like:

  echo ":PE:M::MZ::/usr/bin/mono:" > /proc/sys/fs/binfmt_misc/register

It's also common to have real short shell scripts along side of them to run
mono on the bytecode.

Depending on how you build and configure things, there will also be a
'*.exe.config' and a '*.exe.mdb' file.

Dynamic libraries in CLR are called '*.dll' even though this is just
another header bytecode.

So you use ".exe" as a suffix for the precompiled bytecodes?

It's part of being CLR.  It is actually required.  Stupid, but part of the
standard.

Dave

--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg

Reply via email to