Можно ли написать собственные примитивы для GNU Emacs с помощью C?

GNU Emacs легко расширяется с помощью Emacs Lisp. В некоторых случаях вы можете столкнуться со стеной производительности даже после компиляции байтов. В этой ситуации было бы полезно иметь возможность писать функции на C, которые можно было бы вызывать из кода Emacs Lisp. Это возможно? Как ты делаешь это? Есть пример кода?


person hekevintran    schedule 14.06.2011    source источник
comment
Не забывайте, что почти всегда возможно сделать это на C. Вы, кажется, спрашиваете: возможно ли это сделать?, или кто-то уже сделал это, и если да, то где это так, чтобы я мог проверить?   -  person Arafangion    schedule 14.06.2011


Ответы (2)


это (написание примитивов Emacs), что вы ищут?

person Bertrand Marron    schedule 14.06.2011

Для этого нет интерфейса, и если вы не стремились сделать что-то вроде обработки изображений/видео в emacs, я не вижу, как это может быть полезно. C не делает вещи автоматически быстрее, если вы не можете обойти дорогостоящие структуры данных и работать с данными в их представлении. Если бы ваш код C работал со структурами данных elisp, он не был бы значительно быстрее, чем elisp, и, вероятно, был бы медленнее, чем elisp, если бы кто-нибудь когда-либо потрудился сделать среду elisp высокооптимизирующей...

person R.. GitHub STOP HELPING ICE    schedule 14.06.2011
comment
Я думаю, что оба ответа по-своему верны. Я был удивлен, что документация по emacs на самом деле предоставляет способ сделать то, что вы хотели, но это модификация emacs, а не загрузка расширения в существующий emacs. Если вам действительно нужно это сделать, это может быть то, что вы хотите. - person R.. GitHub STOP HELPING ICE; 14.06.2011