Ruby linux ładowanie bibliotek dynamicznych

Tak to się chyba nazywa. Mianowicie mam taki problem, że na windowsie, to jest chyba w rgss  pisane, mam do dyspozycji funkcję:

require(“win32api”)

params = 'LPLLLLLLPP'
createprocess = Win32API.new('kernel32','CreateProcess', params, 'I')
    env = 0
           env = "Windows".split(File::PATH_SEPARATOR) << nil
                  env = env.pack('p*').unpack('L').first
         startinfo = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
    startinfo = startinfo.pack('LLLLLLLLLLLLSSLLLL')
    procinfo = [0,0,0,0].pack('LLLL')
        createprocess.call(0, file, 0, 0, 0, 0, 0, 0, startinfo, procinfo)
            return procinfo[8,4].unpack('L').first # pid
          end
Ktoś wie jak to przerobić by działało pod linuxem?

 

co do bibliotek, to jest coś takiego. Mam sobie bibliioteke ScreenReaderAPI.dll, i używam z niej funkcji np. sapiSayString

 

polecenie = “sapiSayString”

Coś takiego - https://www.rubyplus.com/articles/1171

 

tak, ale nie zauważyłem tam czegoś sensownego za pomocą czego mógłbym użyć funkcji SPDConnection* connection = spd_open(const char* client, const char* application, const char* user, SPDConnectionMode mode); czyli np

C++

class Speech

{

public:

Speech();

~Speech();

say(string txt);

private:

SPDConnection* connection;

};

Speech::Speech()

{

connection = spd_open(“testowy_program”, “test”, NUL, SPD_MODE_THREADED);

}

Speech::~Speech()

{

spd_close(connection);

}

Speech::say(string txt)

{

spd_say(connection, SPD_IMPORTANT, txt.c_str());

}

te funkcje znajdują się w libspeechd.so, które nie umiem załadować a nie mogę ich użyć tym:

require “rubygems”

Chyba że ktoś z was ma pomysł jak używać speech-dispatchera bezpośrednio w ruby gdy nie istnieje API do tego  przeznaczone. Jest tylko C, i Python…