假设我有一个头文件abc.h
,它定义了一个函数foo()
。如何在我的程序中不使用foo()
的情况下在标题文件abc.h
中使用#include<abc.h>
函数?
我可以提出以下解决方案
那么如何在不包含头文件的情况下在头文件中使用函数(不一定来自标准库)?
这是一个面试问题,所以这实际上是一个棘手的问题。不实际使用。
答案 0 :(得分:1)
我相信这里的关键词是在头文件中“定义”,而不仅仅是声明。标头必须编译为一个对象。要使用它,您将“声明”源中的函数并与目标文件链接。
那就是说,我讨厌这样的面试问题,因为你从来都不确定这是不是他们正在寻找的东西,因为没有一个心智正常的人会在实践中这样做。
答案 1 :(得分:0)
但是,对于大多数已将标头预编译为目标文件
的情况,这将失败
这句话毫无意义。标头可以用于来编译目标文件,但它们永远不会被编译成到对象文件中;它们总是在外部使用。