Call a foreign-language function: Difference between revisions
Content added Content deleted
Line 352: | Line 352: | ||
Lastly, there are at least two methods in FBSL to call machine code routines given their entry points: |
Lastly, there are at least two methods in FBSL to call machine code routines given their entry points: |
||
<pre>CALLABSOLUTE(ByteBuffer[, parm1[, parm2[, parm3[, parm4]]]]) ' ByteBuffer stores machine code bytes |
<pre>CALLABSOLUTE(ByteBuffer[, parm1[, parm2[, parm3[, parm4]]]]) ' ByteBuffer stores machine code bytes |
||
FUNCALL( |
FUNCALL(EntryPoint[, parameters...]) ' EntryPoint stores function call address</pre> |
||
All function calls support Integer, Quad, Single, Double and String parameters and returns. FBSL supports natively ASCIIZ strings only. Unicode strings require explicit ANSITOWIDE()/WIDETOANSI() transforms. |
All function calls support Integer, Quad, Single, Double and String parameters and returns. FBSL supports natively ASCIIZ strings only. Unicode strings require explicit ANSITOWIDE()/WIDETOANSI() transforms. |