also:
deine .exe dateien unte windows nutzen intern das
PE Filesystem. die endung .exe hat also damit nicht soviel zutun, das sie ausführbar ist...
das "urfilesystem" von unix artigen BS war
http://en.wikipedia.org/wiki/A.out. dieses wird auch immernoch bei linux und BSD sowie anderen unix varianten weitgehend unterstützt. da macos quasi ein unix derivat ist, kann angenommen werden, das a.out auch darauf funktioniert... ich weiß es aber nicht.
nachfolger des a.out ist unter linux/BSD und ander unix varianten ist zunächst
COFF (ECOFF, XCOFF)und schlussendlich der aktuelle stand:
ELF.
Es ist anzunehmen, das auch macos diese entwicklung mitgemacht hat und nun auch u.a ELF unterstützt.
das native macos format ist allerdings
Mach-O dieses kann als container für die powerPC (bigendian) als auch x86 (littleendian) code genutzt werden.
das erstellen von ausführbaren für eine andere plattform kann ein s.g. crosscompiler leisten - ich kenne mich allerdings nur ein wenig mit gcc als crosskompiler für linux auf verschiedenen plattformen (x86, mipsel) aus.
mein tipp: wenn du dir viel arbeit ersparen willst, nutze gleich JAVA - da brauchst du nix am code ändern und auch keinen crosscompiler..
ich denke es gibt sowieso keinen cross compiler für VB auf MACH-O... höchstens für a.out, aber du musst dnnoch deinen code ändern, sodass es bibliotheken nutzt, die für macos gedacht sind.