Nie do końca, bo masz jeszcze choćby wywołania systemowe (i inne mechanizmy), które się różnią w zależności od systemu ;)
Inaczej wygląda np rendering okna z jakąś grafiką w przypadku linuxa, a inaczej w przypadku windowsa. Inna kluczowa kwestia to np biblioteki współdzielone.
Ogólnie to nieraz wystarczy dokonać translacji wydawanych poleceń aby programy z Windowsa działąły na Linuxie (patrz Wine)