Ответ 1
swig - это, вероятно, путь... но рубин не слишком хорошо встраивается......
если вы хотите, чтобы язык хорошо вписывался в С++, попробуйте lua
Какой лучший способ вставить Ruby в качестве языка сценариев в С++? Использование ruby.h? SWIG? Что-то другое? Мне нужно разоблачить некоторые объекты С++ для Ruby и интерпретировать интерпретатор Ruby скрипты, которые обращаются к этим объектам. Я не забочусь о расширении Ruby или доступе к нему на С++.
Я нашел эту статью о вложении Ruby в С++, и хотя она очень полезна, она вроде бы старая, и мне было интересно, есть ли любые другие ресурсы по этому вопросу (или реализации с открытым исходным кодом аналогичных движков).
swig - это, вероятно, путь... но рубин не слишком хорошо встраивается......
если вы хотите, чтобы язык хорошо вписывался в С++, попробуйте lua
Rice выглядит очень многообещающим.
Ruby предоставляет очень полезный файл README.EXT. Он содержит много информации о том, как расширить Ruby и конвертировать между типами C и Ruby.
Существует также выдержка из выбрать топорную книгу который в значительной степени охватывает одно и то же.
В моем случае, когда я добавил скрипт Ruby в свое приложение, я решил не использовать swig, потому что мои потребности были очень простыми, и я не хотел добавлять еще одну зависимость сборки.
Возможно, вы захотите проверить tinyrb.
Я работаю над Rarity (https://github.com/Plaristote/Rarity), что делает две вещи:
Я решил много вопросов (обработка исключений, сбор мусора)... Я больше нигде не видел генерации кода, которые использует Rarity, чтобы ваши привязки оживают. Я также не видел никакой другой библиотеки, которая допускает такое легкое преобразование между типами С++ и Ruby.
Я думаю, что Рэрити стоит того! И я был бы рад получить и некоторые отзывы:)!