En C
, c'est simple :
C
._
.Exemple :
int tt; int tt4(int, int) { return 0; }
Donnera en 32 bits :
_tt _tt4
et en 64 bits :
tt tt4
Sous Windows, il est possible de préfixer le prototype par __stdcall
pour faire la liaison avec les API 32 bit de Windows. Cela ajoute au symbole un postfixe @
suivi d'un nombre égal à 4 fois le nombre d'argument. En 64 bit, aucun postfixe n'est ajouté.
Exemple :
int __stdcall tt2() { return 0; } int __stdcall tt3(int) { return 0; } int __stdcall tt5(int, char) { return 0; } int __stdcall tt6(int, char, int) { return 0; } int __stdcall tt7(char) { return 0; } int __stdcall tt8(long) { return 0; }
Donnera en 32 bits :
_tt2@0 _tt3@4 _tt5@8 _tt6@12 _tt7@4 _tt8@4
et en 64 bits :
tt2 tt3 tt5 tt6 tt7 tt8