我想在其他c ++项目中使用源文件foo.cpp。一种方法是拥有头文件,并将源文件作为g ++的命令行参数提供。但是我想将其存储一次后进行编译,然后像使用iostream一样简单地通过包含头文件来使用它,就像不使用iostream作为g ++的构建参数一样
我假设即使将其构建为自定义库,仍然需要提供.object或等效文件作为g ++的参数,对吗?尽管对于iostream,它的实现是编译并与我们的cpp文件链接的,尽管我们没有像g ++ foo.cpp iostream那样明确提及它。
例如考虑一下:
foo.h
#ifndef FOO_H
#define FOO_H
void disp();
#end
foo.cpp
#include<weiostream>
void disp()
{
std::cout<<"Hello World";
}
main.cpp
#include<iostream>
#include "foo.h" \* I just wnat this to be like iostream and not
providing it as command-line argument *\
int main()
{
disp();
return 0;
}
对于这个小程序来说,这样做可能毫无意义,但是对于更大的概念,我感到好奇!如果iostream头文件仅包含定义或某种调用其实现库g ++的机制,这会引起好奇吗?