0

我试图将第三方库(libwebsockets)集成到应用程序中。

现在事实证明 libwebsockets 具有以下功能:

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

该应用程序具有类似的功能

char *SHA1(char *string)

不幸的是,libwebsockts 在执行期间使用了应用程序中的函数而不是它自己的函数。

  1. 现在检测这种情况的规范方法是什么,以便更容易集成 3pp-lib(在逐步调试大量代码行后发现这种冲突)?(如果那里有可用的技巧,我正在使用 Visual Studio)

  2. 允许这种情况发生的应用程序(和/或)库中的设计是否糟糕?

4

1 回答 1

0
  1. 这样的情况不应该发生。如果您尝试这样做,应该会发生编译器错误(或至少是警告)。这两个函数不兼容,我看不出对库的 3 参数SHA1()的调用如何成为对您的 1 参数版本的调用。
  2. 它可能在构建过程中有问题,或者在其他地方缺少声明。
于 2014-01-01T19:14:18.633 回答