Я работаю в Ruby и понимаю, что было бы невероятно полезно использовать некоторые встроенные функции gcc (а также встроенные встроенные архитектуры архитектуры x86). Кажется, что нужно написать расширение для использования, это непрактично, поэтому мне было интересно, есть ли способ, который я мог бы назвать встроенными. Например, если бы я хотел назвать int __builtin_popcount(unsigned int)
, на число в Ruby, есть способ, которым я мог бы как-то сделатьКак я могу вызвать встроенную функцию компилятора в Ruby?
a = rand(1..10000)
__builtin_popcount(a)
Я знаю, что я, очевидно, не может сделать что-то, что основное, но есть способ, который Я мог бы включить встроенные встроенные модули gcc и x86 в Ruby?
Вы можете связать код C или C++ с [FFI] (https://github.com/ffi/ffi). Нет никакого способа сделать это внутренне без расширения. Помните, что Ruby не обязательно имеет какое-либо отношение к 'gcc'. Например, JRuby не имеет никакой связи, и это не редкость для того, чтобы «clang» был back-end во многих современных системах. – tadman