Как вернуть символ из функции C в схеме гамбита?

У меня есть функция C за c-лямбдой, которая должна немного покопаться с вызовом select(2) и выбрать символ схемы для возврата в качестве указания на то, что она сделала, и возникла ли ошибка. Как получить именованный символ как ___SCMOBJ (или что-то более подходящее) из C, не объясняется в документах, и вики, похоже, упала. Из gambit.h также не сразу видно, есть ли макрос для этой цели.

Возможно ли это из коробки? Мой обходной путь на данный момент состоит в том, чтобы передавать возвращаемые символы в качестве аргументов функции, но с большим набором символов, который я хочу иметь возможность вернуть, это очень быстро станет очень громоздким.


person regularfry    schedule 17.02.2013    source источник


Ответы (1)


Я задал этот вопрос в списке рассылки gambit-c. Было три основных ответа:

  1. Экспортировать строку->символ в C
  2. Построить таблицу поиска перед вызовом C
  3. Обновить гамбит

На данный момент я выбираю вариант (1), потому что хочу быть совместимым с гамбитом Debian Squeeze и думаю, что снижение производительности пока не будет значительным.

person regularfry    schedule 22.02.2013