2017-12-05 11 views
1

Ich weiß, dass POSIX eine Reihe von Funktionen definiert, die in dem kompatiblen System vorhanden sein sollten. Dazu gehören read(), write(), printf() und viele andere, die wir als "libc" -Funktionen kennen.Gibt der POSIX-Standard an, welche Aufrufkonventionen wie read() folgen sollen?

Aber erzwingt POSIX eine Aufrufkonvention für sie, oder es liegt an den Betriebssystemimplementierern zu wählen?

+2

Sie sollten den spezifischen ABI folgen. POSIX wird nicht gegen ABI gehen. –

Antwort

4

Aber erzwingt POSIX eine Aufrufkonvention für sie [...]?

Nein. POSIX soll tragbar sein. Aufrufkonventionen hängen stark von der Architektur ab, da sie festlegen, wie Stapel und Register beim Aufruf von Unterprogrammen verwendet werden. Wenn POSIX auf bestimmten Aufrufkonventionen durchgesetzt wird, wäre es nicht mehr universell anwendbar, oder es müsste alternativ Aufrufkonventionen für jede mögliche Architektur definieren, was unmöglich ist.

Verwandte Themen