[Vm-dev] Newbie questions about non-static, static and EXPORT

Mariano Martinez Peck marianopeck at gmail.com
Wed Apr 13 19:39:59 UTC 2011

Hi folks, I am trying to understand them. What I understood so that is that
from SLANG we can say:

<export: true>   ----> it will add the keyword EXPORT(sqInt) functXX();

<api>    ---->   it WONT put the static prefix  ->>    (sqInt) funcXXX()

if nothing is said    ->   it puts the static   ->>  static (sqInt)

If I understood correctly, static functions are not callable outside of the
C file they are defined in. So, if you don't put static, then they are

I am correct with all that ?

So..first question, why we need the this ?   when I should declare a
function/method as API ? is it possible that this is when plugins need to
call a function from the VM ?

Second, when should I need to declare a method/function as EXPORT ? Are
there any other reason that being able to call them from GDB ?

Third, why there are methods which do not put the <export: true>    but in
fact are added in #requiredMethodNames and hence exported.   Why they cannot
have the <export: true>   instead of being hardcoded there?

Thanks a lot in advance,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20110413/4e26422d/attachment.htm

More information about the Vm-dev mailing list