Можно ли прочитать двоичный файл в файле ruby и выполнить его непосредственно в памяти?
например что-то вроде этого:
x = IO.read('/bin/ls') execute(x)
Я пытался system(x), но это дает: ArgumentError: string contains null byte
system(x)
ArgumentError: string contains null byte
system () и exec () передают командную строку операционной системе, чтобы она загрузилась и запустила внешнюю команду, а это не то, что вы просите.
Что-то может быть написано на C, так как это расширение Ruby. Много информации в Google:
http://www.google.com/search?client=safari&rls=en&q=extend+ruby+with+c&ie=UTF-8&oe=UTF-8
Я не думаю, что вы сможете это сделать. Когда исполняемый файл запускается, динамическому компоновщику требуется довольно много исправлений.
Самое простое решение - записать исполняемый файл во временный файл на диске и выполнить его.