VLiance / XE-Loader

Apache License 2.0
7 stars 2 forks source link

# Logo

Load & run executable [Windows EXE / Linux ELF / & more] anywhere, without any dependency

XE-Loader is a C99 open source project. Like the well known Wine, this loader runs executable directly on the system without any virtualization layer.

No extra layers = No penalties

Instead of trying to replicate a whole OS, our goal is to give maximum controls to the user.

This way, we are focusing more on creating a portable executable. We mean ... Really portable. Because of all those OS relative function calls, break the fact that we cannot use the same binary and run it anywhere.

So we create a Linux app, Windows app, etc, then we try to find somewhat equivalent for each version of your app. Your app depends on the system.

What about if it's the system that depends on your app? This is a very different perspective.

If we take the 3 executable file formats ELF, PE, Mach-O all of these are compatible architecture. In reality, your app is already compatible with these 3 OS, behind the format, all was using the same x86 instructions.

Therefore, can we run Elf file on Windows? Yes it's possible:

Logo

That said, XE-Loader will not run every existing executable, instead, it gives you control:

Real world application

Generic Interface

Doc_generic

*Can I still call a specific OS function depending on the platform?

New File Format

Doc_generic

How to build?

See our wiki

How to create an XE-Loader compatible binary?

See our wiki

Examples

Created for the CpcDos project. Github / Video / Using Mesa

Soon

Even further

Here we can make cross-platform binary that run on specific architecture, if we want to go even further and use the LLVM IR technologie, we can make cross-architecture binary (Same XE file everywhere)