Gibt es eine Entsprechung für stdcall in GCC?

9

Ich arbeite mit GCC an meinem eigenen Kernel und wenn ich C-Funktionen von asm code aus aufrufen muss, muss ich add esp,xx selbst machen. Nach einigem Suchen fand ich heraus, dass stdcall eine Erfindung von Microsoft ist und nicht in GCC verwendet werden kann. Gibt es einen praktischen Weg, diese Arbeit zu erledigen?

    
babel92 26.10.2012, 23:54
quelle

1 Antwort

5
  

Gibt es eine Entsprechung von stdcall in Linux?

     

mein Kernel in einer Linux-Umgebung

Warte, ist das dein eigener Kernel oder der Linux-Kernel? Denn wenn es sich um einen eigenen Kernel handelt, ist es kein Linux mehr.

  1. Wenn Sie mit Linux arbeiten, sollten Sie bei den regulären Aufrufkonventionen bleiben und Ihre Assembly schreiben, damit sie übereinstimmt.

  2. Wenn Sie an einem eigenen Kernel arbeiten, können Sie alles tun, was Sie wollen. GCC und Clang unterstützen beide stdcall Aufrufkonventionen auf ix86-Prozessoren, z. B.

    %Vor%

    Siehe: Funktionsattribute (GCC-Handbuch)

Dietrich Epp 27.10.2012, 00:09
quelle

Tags und Links