Hi
also
1. ob das nun systemabhängig ist oder nicht hängt grundsätzlich davon ab, wie du deinen code schreibst und nicht davon wie du die datei übersetzt wird. Wenn du keine Systemaurfufe machst, kein new, delete, alloc, free, ... verwendest, bist du erst einmal nicht vom system abhängig. Die datei, die der Compiler erzeugt ist hingegen ggf von dem system abhängig auf dem du entwickelst bzw von der Toolchain die du verwendest.
2. die eigentliche systemabhängigkeit entsteht erst wenn du linkst. dort werden die OBJ-Dateien mit den ggf notwendigen libs zu einem Programm gebunden. Wie das output aussieht, hängt ganz von der Zielplatform ab. Für MS COM und EXE, für Linux elf, ... und zum schluss noch flat binary (wobei das nicht alle erzeugen können aber ich nehme mal an, das ist was du haben willst.).
so nun zurück zu deiner frage. Ja man kann mit einer Hochsprache Code schreiben der OS unabhängig ist (z.B. C, C++ halt immer mit einschränkungen versehen). Es ist nur die frage ob es ein OS auch ausführen kann ( ohne ein und ausgabe ist ein program leider nicht viel Wert )
gruss