0

Wince 6.0 には c++ ライブラリがあり、いくつかのグローバル変数があります。そのライブラリは、c++ である DLL とリンクされています。アプリケーションを実行してDLLを呼び出したとき。最初に、静的ライブラリのすべてのグローバル変数を初期化しましたが、制御がDLLに戻って静的ライブラリに戻ったとき。そのすべてのグローバル値をリセットします。誰かがそれについて考えていますか。

4

1 に答える 1

0

2 つの DLL をスタティック ライブラリにリンクした場合、これは、ライブラリ内のすべてのコードと変数の 2 つのコピーがあることを意味します。

この問題を解決するには、スタティック ライブラリを DLL に変換する必要があります。module.defこれは、ファイルとリンカー呼び出しで構成される単純なプロジェクトで実行できます。

次に、DLL をスタティック ライブラリにリンクする代わりに、それらを DLL にリンクします。

または、2 つの DLL を使用する代わりに、プロジェクトを結合して 1 つの DLL を作成します。

データが共有されないことを理解し、同意する場合は、2 つのモジュールを同じ静的ライブラリにリンクしても問題ないことに注意してください。

于 2013-04-15T12:53:45.170 に答える