Bitcoin-Core-Development

在建構比特幣核心時,這個其他 Boost 警告是否無害並且應該被忽略?

  • July 27, 2022

與這個問題類似,我在 MacOS 上建構 PR 分支時收到了新的 Boost 警告。

In file included from /usr/local/include/boost/test/test_tools.hpp:46:
/usr/local/include/boost/test/tools/old/impl.hpp:107:17: warning: comparison of integers of different signs: 'const unsigned int' and 'const int' [-Wsign-compare]
   return left == right;

這又完全無害了嗎?也許我應該只配置--enable-suppress-external-warnings並忽略所有 Boost 警告?有符號整數不應該與無符號整數進行比較嗎?

這又完全無害了嗎?

很有可能;您需要查看 Boost 內部程式碼才能找到答案。但無論如何,如果有問題,需要在 Boost 中解決。

也許我應該只配置 –enable-suppress-external-warnings 並忽略所有 Boost 警告?

除非您想調試 Boost 本身,否則是的。

有符號整數不應該與無符號整數進行比較嗎?

它本質上沒有任何問題。這表明程式碼可能以更明顯正確的方式編寫,但在無錯誤程式碼中遇到這種情況是完全合理的。例如,當在上下文中執行 this 時,已知有符號整數永遠不會是負數。

引用自:https://bitcoin.stackexchange.com/questions/114646