2012-10-26 19 views
9

GCC kullanarak kendi çekirdeğimde çalışıyorum ve C işlevlerini asm kodundan çağırırken, kendim add esp,xx yapmam gerekiyor. Bazı aramalardan sonra, stdcall'un bir Microsoft buluşu olduğunu ve bunu GCC'de kullanamadığını buldum. Bu işi yapmak için herhangi bir kullanışlı yol var mı?GCC'de stdcall için herhangi bir eşdeğer var mı?

+0

, ben kaldırdık referanslar. –

cevap

5

Linux'ta stdcall eşdeğeri var mı? Bir Linux ortamında

bekleyin benim çekirdek

, bu kendi çekirdek veya Linux çekirdeği nedir? Çünkü eğer kendi çekirdeğinse, artık Linux değil.

  1. Linux üzerinde çalışıyorsanız, normal arama kurallarına uymak ve derlemenizi eşleşecek şekilde yazmak isteyeceksiniz.

  2. Kendi çekirdeğiniz üzerinde çalışıyorsanız, istediğiniz her şeyi yapabilirsiniz. GCC ve Clang ix86 işlemciler hem destek stdcall çağıran kongre, örneğin

    #define stdcall __attribute__((stdcall)) 
    

    bakınız: Linux bunu kendi çekirdek olduğunu belirtilen yana Function Attributes (GCC manual)

+0

Çok teşekkürler! Gcc ile kendi çekirdeğimi derledim ve birisi linux gcc'de stdcall olmadığını söyledi. Ama kodunuzla iyi çalışıyor! – babel92

İlgili konular