Sto cercando di imparare l'intera catena realizzazione opere in modo da poter capire meglio cosa succede quando faccio costruire/link/compilare ecccomprendere la necessità di compilatori per diverse piattaforme
Un punto che sto avendo difficoltà con questo: Se il compilatore trasforma la sorgente in assembly nativo, perché lo stesso programma non può girare su diversi SO? L'assemblaggio non viene eseguito direttamente dalla CPU? Quindi lo stesso codice macchina dovrebbe essere eseguito su ogni sistema operativo, purché sia la stessa architettura, no? Perchè no?
EDIT: maggior parte delle risposte finora sono di chiamare le API del sistema operativo. Questo ovviamente è un problema. La mia domanda riguarda il codice macchina diritto. Viene passato direttamente alla CPU o no? Se avessi scritto un programma in assembly, avrei ancora bisogno di compilare separatamente per ciascun sistema operativo? (side point: se ho usato C++ standard/cout, è dipendente dal sistema operativo, devo compilare per dirigere l'I/O di assemblaggio o la risposta dipende dal compilatore?)