如果这听起来有点愚蠢,我真的很抱歉.我刚读完K&R并参与了一些练习.今年夏天,对于我的项目,我正在考虑重新实现一个linux实用程序,以进一步扩展我对C的理解,所以我下载了GNU tar和sed的源代码,因为它们看起来都很有趣.但是,我无法理解它的起始位置,主要实现的位置,所有奇怪的宏来自哪里,等等.
我有很多时间,所以这不是一个真正的问题.我是否应该首先熟悉GNU工具链(即make,binutils,..)才能理解程序?或者也许我应该从更小的东西开始(如果有这样的事情)?
如果重要的话,我对Java,C++和python有一点经验.
谢谢!