这个问题是从理想主义的角度出发的。// 前向声明
我一直在学习 makefile 的基础知识,我发现自己想知道这里问的关于头依赖的同样的事情。从实际的角度来看,我很高兴有解决标头依赖问题的解决方案。然而,再考虑一下这个问题,我发现自己在问为什么头文件依赖会完全影响编译单元。在假设下(见前向声明) 定义包含在头文件中,实现是在源单元中定义的,是否有任何理由在不修改相应源文件的情况下修改头文件?如果不是,为什么重新编译依赖的源单元也很重要,因为单独的定义修改不会影响程序的执行?是否只是尽早而不是稍后识别接口定义更改中的错误的问题?