Visual StudioのC++またはCode:blocks MinGWからcygwinコンパイル済みDLLを使用する必要があります。cygwin C++ dllをロードし、クラス関数を呼び出す
私はcygwin1.dllと他のDLLをロードしました。これはcyggcc_s-seh-1.dll
,cygstdc++-6.dll
などです。私のdllは正常にロードされています。関数ポインタはGetProcAddress
関数で得ることができますが、私の問題はそれです。
私のdllは多くのクラスを持つC++ dllです。 私は必要なヘッダが含まれていた。しかし(どのように私は誰でどの機能を推測することができます) 私は別の呼び出し規約は
000000051a5ae590 T _ZN6eq_res8is_breakEv
000000051a5ae810 T _ZN6eq_res8is_emptyEP5EqAdr
000000051a5ae700 T _ZN6eq_res8is_localEP5EqAdr
000000051a5b00c0 T _ZN6eq_res8monitorsEv
000000051a5af4e0 T _ZN6eq_res8req_cardEi
000000051a5af560 T _ZN6eq_res8ret_cardEv
000000051a5ae540 T _ZN6eq_res8set_exitEv
000000051a5ae9d0 T _ZN6eq_res9check_refEP6eq_svr
...
どのように私は、Visual CにロードされたDLLまたはプロジェクトのための関数呼び出し規約を変更することができてい++? または、オブジェクトのコンストラクタ、オブジェクトのデストラクタを宣言し、dllの他のクラス関数を使用するにはどうしたらいいですか?
ありがとうございました。
おかげで私のcygwinのdllが、多分それはトラブル64ビットですが、残念ながら、私は開始して完了する必要がありき、私はmacrosesによって種類を克服することができると思うと、もう一つ、私が仕事をすることができませんでした端末で動作している 'printf'や' cout'関数です。 – user3548808