Existe algum equivalente para stdcall no GCC?

9

Estou trabalhando em meu próprio kernel usando o GCC, e ao chamar funções C a partir de um código, eu tenho que fazer add esp,xx eu mesmo. Após algumas pesquisas, descobri que stdcall é uma invenção da Microsoft e não pode ser usada no GCC. Existe alguma maneira útil de fazer este trabalho?

    
por babel92 27.10.2012 в 01:54
fonte

1 resposta

5
  

Existe alguma equivalência de stdcall no linux?

     

meu kernel em um ambiente linux

Espere, esse é seu próprio kernel ou o kernel do Linux? Porque se é o seu próprio kernel, não é mais o Linux.

  1. Se você estiver trabalhando no Linux, convém seguir as convenções de chamada regulares e escrever sua montagem para corresponder.

  2. Se você está trabalhando em seu próprio kernel, você pode fazer o que quiser. O GCC e o Clang suportam stdcall convenções de chamada em processadores ix86, por exemplo,

    #define stdcall __attribute__((stdcall))
    

    Veja: Atributos de função (manual do GCC)

por Dietrich Epp 27.10.2012 / 02:09
fonte