我正在浏览网络协议的源代码。虽然我理解协议的规则,但试图理解实现似乎是不可能的。该实现使用了boost asio库。我试图通过文档来了解库的工作。它帮助我更多地理解了代码,但是随着我向前推进,我仍然在代码中使用了许多新的闻所未闻的函数或数据结构名称时遇到了很多麻烦。以何种方式了解特定函数的正确用途或C ++库中的抽象数据结构实现的最快方法是什么?我被建议使用IDE CLion。虽然它帮助我快速找到代码库和包含的头文件中所选函数的声明但仍然没有,因为它打开了.h文件。
例如,我之前从未见过ntohs函数,所以当我点击它打开in.h头文件的选项并显示
extern uint16_t ntohs (uint16_t __netshort)
__THROW __attribute__ ((__const__));
只是声明。是否有更容易理解的功能的实现和目的,每次用Google搜索其名称?
我查看了StackOverflow中的其他建议,并阅读了有关阅读其他人源代码的文章。我无法找到任何与我在这里的原因。