[問題] 動態載入一組函式
假如我有這樣的一組介面:
class Calc
{
public:
virtual int add(int x, int y) = 0;
virtual int sub(int x, int y) = 0;
virtual int mul(int x, int y) = 0;
virtual int div(int x, int y) = 0;
};
我想問的是,有沒有辦法做到類似這樣的東西?
int main()
{
Calc *calc = NULL;
HANDLE hLibrary = Dynamic_Load("FastCalc.dll");
calc = GetInterface(hLibrary);
calc->add(....);
calc->sub(....);
calc->mul(....);
calc->div(....);
return 0;
}
也就是說,我有一個 pure virtual class 來描述介面
另外有個 FastCalc.dll 裡面實作了這個介面 (當然不管它是怎麼實作的)
我想像上例這樣很簡單的載入整組介面來使用它
稍微研究過COM,不過還不是很熟,不知道它能不能做到這樣
如果可以的話請給我一些關鍵字或範例,COM對我來說實在不容易理解orz
另外我也很好奇,在Linux環境有沒有辦法解決這個問題?
話說,這個時候真的會很羨慕C#/Java的Reflection機制 XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 101.13.50.119
※ 編輯: james732 來自: 101.13.50.119 (02/24 23:49)
推
02/25 00:14, , 1F
02/25 00:14, 1F
因為它一次只能取得一個Function
我希望能夠有辦法一口氣取得一組Function
最好還能像我的例子,用物件的方式來操作它
用起來就像一個普通的object pointer
※ 編輯: james732 來自: 101.13.50.119 (02/25 00:26)
推
02/25 14:46, , 2F
02/25 14:46, 2F
推
02/25 14:49, , 3F
02/25 14:49, 3F
→
02/25 14:52, , 4F
02/25 14:52, 4F
→
02/25 14:53, , 5F
02/25 14:53, 5F
推
02/25 15:01, , 6F
02/25 15:01, 6F
→
02/25 15:02, , 7F
02/25 15:02, 7F
→
02/25 15:03, , 8F
02/25 15:03, 8F
→
02/25 15:03, , 9F
02/25 15:03, 9F
→
02/25 15:04, , 10F
02/25 15:04, 10F
→
02/25 15:05, , 11F
02/25 15:05, 11F
→
02/25 15:06, , 12F
02/25 15:06, 12F
→
02/25 15:06, , 13F
02/25 15:06, 13F
推
02/25 20:58, , 14F
02/25 20:58, 14F
討論串 (同標題文章)