0

サードパーティのライブラリ ( libwebsockets ) をアプリケーションに統合しようとしています。

libwebsockets には次の機能があることがわかりました。

unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md);

そして、アプリケーションには同様の機能がありました

char *SHA1(char *string)

残念ながら、実行中のlibwebsocktsは、独自の機能ではなくアプリ内の機能を使用していました。

  1. 3pp-lib の統合を容易にするために、このような状況を検出する標準的な方法は何ですか (大量のコード行をステップ デバッグした後にこの衝突が見つかりました)。(そこに利用可能なトリックがある場合は、ビジュアルスタジオを使用しています)

  2. これを可能にするアプリ(および/または)ライブラリの設計が悪いのでしょうか?

4

1 に答える 1

0
  1. このような事態はあってはなりません。これを試すと、コンパイラ エラー (または少なくとも警告) が発生するはずです。SHA1()2 つの関数には互換性がありません。ライブラリの 3 引数の呼び出しが、1 引数のバージョンの呼び出しになる方法がわかりません。
  2. ビルド プロセスに何か問題があるか、他の場所で宣言が欠落している可能性があります。
于 2014-01-01T19:14:18.633 に答える