( Chain-Q | 2019. 06. 11., k – 11:10 )

Nem lehet. Nincs ilyen h. default ABI. "Nem ezeket a droidokat keresed." Fuggvenyszinten kell definialni, lenyeg. h barhol ahol C kod hiv Pascal kodot, vagy Pascal kod hiv C kodot, a cdecl; legyen hozzaadva, mivel hidd el, nem akarsz random crasheket debugolni amiatt h. valami latszolag mukodik, csak valami parameter veletlenul nem adodik at.

Es attol h. Pascal kodbol is meghivod ugyanazt a fuggveny, attol meg lehet Cdecl, mivel akkor a fordito tudja h. ez egy C ABI-t hasznalo fuggveny, es annak megfelelo hivo kodot fordit. Szoval ja.

(Es vicces modon, meg igy is lehetnek trefak, pont mult heten volt egy kalandom, hogy hiaba a SYSV ABI definicio, x86_64-en a Free Pascal mashogy kezelte a C booleanokat mint az ABI elvarta (mert az ABI-t befrissitettek valamikor mar reg, a GCC-t is updateltek hozza, nekunk meg nem szolt senki), es a GCC optimalizalt egy csodalatosat, kiszorva egypar bit-maszkolast a C oldali kodbol, gondolvan h. az ABI miatt az nem kell (facepalm), emiatt ugyanaz a kod, cdecl-lel Windows, macOS-en ment (mert az clang, ugye), de x86_64-en a GCC-vel forditott kod nem. Szoval workaround rulez. De azota az FPC trunkban ezt kifixeltek elvileg.)

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-