C++ 如何快速理解源代码中预定义函数的工作原理和用途

C++ 如何快速理解源代码中预定义函数的工作原理和用途,c++,C++,我正在浏览一个网络协议的源代码。虽然我理解协议的规则,但试图理解实现似乎是不可能的。该实现使用boost asio库。我试图翻阅这些文件,以了解图书馆的工作情况。这有助于我更好地理解代码,但随着我的进步,代码中使用了许多新的、闻所未闻的函数或数据结构名称,我仍然面临很多麻烦。什么是最快的方式,我可以知道一个特定的功能或抽象的数据结构实现在C++库中的正确目的?有人建议我使用ideclion。虽然它帮助我在代码库和包含的头文件中快速找到所选函数的声明,但在打开.h文件时,定义仍然不存在 例如,我以

我正在浏览一个网络协议的源代码。虽然我理解协议的规则,但试图理解实现似乎是不可能的。该实现使用boost asio库。我试图翻阅这些文件,以了解图书馆的工作情况。这有助于我更好地理解代码,但随着我的进步,代码中使用了许多新的、闻所未闻的函数或数据结构名称,我仍然面临很多麻烦。什么是最快的方式,我可以知道一个特定的功能或抽象的数据结构实现在C++库中的正确目的?有人建议我使用ideclion。虽然它帮助我在代码库和包含的头文件中快速找到所选函数的声明,但在打开.h文件时,定义仍然不存在

例如,我以前从未见过ntohs函数,所以当我单击该选项时,它在.h头文件中打开并显示

只是声明。是否有一个更容易理解的功能的实现和目的,而不是每次用谷歌搜索它的名字


我阅读了StackOverflow中的其他建议,也阅读了关于阅读他人源代码的文章。我找不到任何东西,这就是我在这里的原因。

通常,对于库,我发现搜索函数名比查看源代码更快。执行后一种操作通常会看到数百行模板代码。@Colin_u____________________________________。在更大的代码中,这会带来很多问题。我知道您只是在学习一些新的东西,但是
ntohs
是理解网络协议的核心功能之一。如果这对你来说是新的,你有很多的阅读。我建议买一些关于C和网络的书,而不是读代码。你要找的是“手册页”,这是一些东西,至少在我的时代,是开始破解C的人首先要学会的东西,在哪里找到它,以及如何阅读它。如果你遇到一个你对它一无所知的函数,你可以查一下它是否有一个手册页。@SamVarshavchik,是我做的。我认为在特定代码中使用的主要函数来自Boost Asio库,因此我在其文档中阅读了它们,但似乎也使用了其他库。我已经看过了整个文档,只是为了理解一两个我需要理解的函数,以便能够掌握代码的工作。有人告诉我,我可以在路上学习。
extern uint16_t ntohs (uint16_t __netshort)
     __THROW __attribute__ ((__const__));