2011-07-27 13 views
0

私はC++クラスをエクスポートしましたが、今ではパブリックメンバー関数を使いたいと思います。私はそれをどのようにすることができますか?dllにエクスポートされるC++クラスの使い方は?

動的バインディングが必要です。私のエクスポートされたクラスはこのようになります

#ifdef MAKEDLL 
#define DECLDIREXP __declspec(dllexport) 
#else 
#define DECLDIREXP __declspec(dllimport) 
#endif 

class DECLDIREXP xyz 
{ 
public: 
    void printing(); 
    void printing(int a); 
}; 

using namespace std; 

void xyz::printing() 
{ 
    cout<<"hello i donot take any argument"; 
} 

void xyz::printing(int a) 
{ 
    cout<<"hello i take "<< a <<"as argument"; 
} 
+0

1より良いあなたは、コンパイルとリンクするかの問題点について話しているfooというれる場合MAKEDLLはおそらく悪い名前ですが、MAKEFOODLLところで

? – spraff

+0

あなたは何を持っていますか? –

+0

動的バインドとは何ですか:ライブラリ.libファイルにリンクするのではなく、LoadLibrary + GetProcAddressを使用しますか? –

答えて

0

あなたはほとんどそこにいるようです。 dllを生成するプロジェクトをビルドするときは、リンカーに対してMAKEDLLが定義されていて、dllを消費するプロジェクトでは逆に丸められていることを確認してください。あなたのDLLが

関連する問題