[問題] 使用外部dll
環境: Ruby1.9.3 Win32-api1.4.8 DevC++5.0.0.8
狀況:
因為之後想寫個遊戲於是想說能不能把資料庫放在dll裡
需要資料就呼叫dll把資料拿出來
(好像多此一舉 本來就有資料庫可以用...)
於是我就做了實驗
用c++編譯了一個db.dll
給db一個int會回傳一個字串
像是 SCRIPT(1) #=> "1,1,test"
(只是實驗用 名稱就...)
於是test.rb就是:(使用內建的函式庫)
require "Win32API"
puts Win32API.new('db','SCRIPT','I','P').call(1)
gets
卻出現了:
C:/Ruby193/lib/ruby/1.9.1/Win32API.rb:14:in `[]': unknown symbol "SCRIPT"
(Loadrror)
我只好改用Win32-api(下載的gem)
程式碼是這樣:
require "win32/api"
puts Win32::API.new('SCRIPT','I','P','db').call(1)
gets
可是結果變成:
1.rb:2:in `initialize': Unable to load function 'SCRIPT', 'SCRIPTA', or
'SCRIPTW' (Win32::API::LoadLibraryError)
我搞不清楚是怎麼回事
查英文資料也查不太到
好像只有我有這個問題
有哪位高手研究過這個嗎?
幫小弟說明一下
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.232.142.58
→
01/12 09:48, , 1F
01/12 09:48, 1F
→
01/12 09:49, , 2F
01/12 09:49, 2F
討論串 (同標題文章)
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章