У меня есть рабочее C-расширение для Racket. В Racket CLI и окне взаимодействия DrRacket он работает как шарм. Однако я не могу заставить его работать в окне определений DrRacket, что было бы очень полезно, поскольку это интерфейс для моих учеников для разработки своих программ.C-расширения в DrRacket
Проблема заключается в том, что определения в расширении не «видны» (или зарегистрированы или что-то еще). Модуль загружается (или, по крайней мере, найден), но DrRacket жалуется, что у него нет разрешения на выполнение, что я не понимаю.
В коде C я объявил расширение, чтобы быть модулем и я попробовал оба метода включения:
(нагрузка-удлинение «racket_extension.so») и (требуют «racket_extension.rkt»); который требует, чтобы вы поместили его в папку по отношению к текущей рабочей папке следующим образом: «compiled/native/x86_64-linux/3m/racket_extension_rkt.so»
Ни один из методов не работает. Первый случай не дает ошибки, но определения внешнего не регистрируются («undefined»).
Во втором случае DrRacket выдает ошибку: запрещенных (выполнение) доступа к .... скомпилирован/родному/x86_64-линукс/3m/racket_extension_rkt.so , но почему?
У кого-нибудь есть идеи, как я могу заставить это работать? Что мне не хватает?
Спасибо! Marc
У меня нет ответа для вас, но я думаю, что вы с большей вероятностью получите ответ, если вы попросите об этом в списке рассылки Racket: http://lists.racket-lang.org/users/ –
Спасибо Асуму, я буду. Я поместил его на канал IRC, но ответа пока нет. – Emjee