Linker 当代码是开源代码时,头文件是严格必需的吗?

Linker 当代码是开源代码时,头文件是严格必需的吗?,linker,compiler-theory,Linker,Compiler Theory,据我所知,头文件是一种开发实践,头文件是通过从源C文件复制所有外部有意义的符号创建的。因此,能够将链接信息提供给用户及其编译器,而无需提供源代码 当然,头文件的价值超出了编译器的技术要求。这超出了我的问题范围。我并不是在寻求实用的建议,也就是说,我并没有积极尝试链接源c文件,我也不会。我试图理解,在没有技术限制(尽管存在业务限制)的印象下,为什么这似乎永远不会实现 换一种说法 是否可以使用完整的源文件进行链接? 从技术上讲。链接器不能链接源代码,只能链接目标文件和库。如果将所有源代码保存在一个C

据我所知,头文件是一种开发实践,头文件是通过从源C文件复制所有外部有意义的符号创建的。因此,能够将链接信息提供给用户及其编译器,而无需提供源代码

当然,头文件的价值超出了编译器的技术要求。这超出了我的问题范围。我并不是在寻求实用的建议,也就是说,我并没有积极尝试链接源c文件,我也不会。我试图理解,在没有技术限制(尽管存在业务限制)的印象下,为什么这似乎永远不会实现

换一种说法

是否可以使用完整的源文件进行链接?
从技术上讲。

链接器不能链接源代码,只能链接目标文件和库。如果将所有源代码保存在一个C文件中,则严格来说不需要头文件。