2012-10-26 17 views
9

Pracuję nad własnym jądrem za pomocą GCC, a wywołując funkcje C z kodu asm, muszę samemu wykonać add esp,xx. Po przeszukaniu znalazłem, że stdcall jest wynalazkiem Microsoftu i nie może go używać w GCC. Czy jest jakaś przydatna metoda wykonania tej pracy?Czy istnieje odpowiednik stdcall w GCC?

+0

Skoro wspomniałeś, że to własne jądro, mam usunięte odniesienia do systemu Linux. –

Odpowiedz

5

Czy istnieje odpowiednik stdcall w systemie Linux?

moje jądro w środowisku Linux

Czekaj, czy to własne jądro, czy jądro Linuksa? Ponieważ jeśli jest to twoje własne jądro, to nie jest to już Linux.

  1. Jeśli pracujesz nad Linuksem, będziesz chciał trzymać się normalnych konwencji telefonicznych i pisać swój zestaw do dopasowania.

  2. Jeśli pracujesz nad własnym jądrem, możesz zrobić wszystko, co chcesz. GCC i Clang zarówno wsparcie stdcall telefoniczne konwencje dotyczące procesorów ix86, np

    #define stdcall __attribute__((stdcall)) 
    

    Patrz: Function Attributes (GCC manual)

+0

Wielkie dzięki! Kompiluję własne jądro z gcc i ktoś powiedział, że nie ma stdcall w gcc Linux. Ale działa dobrze z twoim kodem! – babel92

Powiązane problemy