Also Funktionen definiert man immer gleich, das ist compilerunabhängig (falls das für irgendeinen Compiler nicht gelten sollte ist er müll, da nicht zum C-Standard kompatibel)

Code:
int blablubb(int a, char b, long* toast)
{
... der code halt ...
return irgendeinrückgabewert;
}
wobei diese Funktion dann 3 Parameter erwartet (einen vom Typ Char, einen vom Typ int und einen Zeiger auf eine Variable vom Typ long), und einen Wert vom Typ int zurückgibt.


Das einzige was von Compiler zu Compiler unterschiedlich sein kann, sind die zusätzlich mitgelieferten Bibliotheken. Die C-Standardbibliothek haben alle, aber manche die für Mikrocontroller gedacht sind haben darüberhinaus noch weitere Bibliotheken (z.B. mit fertigen Funktionen für I²C oder ähnliche µC-spezifische Dinge)