После запроса, похоже, есть как минимум базовая c поддержка в (Threaded) FFIPlugin:
ExternalAddress class>>loadSymbol: moduleSymbol module: module
<primitive: 'primitiveLoadSymbolFromModule' module: 'SqueakFFIPrims'>
^ self primitiveFailed
Таким образом, мы могли бы создать ExternalData, получить его адрес через сообщение выше (передавая имя глобальной переменной и заданную ExternalLibrary в качестве аргумента модуля) и укажите ее тип.
Затем мы можем использовать эти ExternalData для передачи адреса, если внешняя функция ожидает указатель.
Чтобы передать значение, необходимо разыменовать адрес, не уверен, что он автоматизирован плагином ...
В моем случае я знаю, что мне придется передать значение, поэтому я могу напрямую отменить ссылку на адрес, чтобы получить значение и сохранить это (предполагая, что глобальная переменная назначается один раз при инициализации и не изменится впоследствии, и предполагая, что инициализация уже произошла во время загрузки библиотеки - множество c предположений, специфичных для приложения ...).