我刚刚继承了一些C++代码,这些代码写得不好用一个cpp文件,其中包含main和一堆其他函数.还有一些.h文件包含类及其函数定义.
到目前为止,该程序是使用该命令编译的g++ main.cpp.现在我已经将类.h和.cpp文件分开了,我需要使用makefile还是我仍然可以使用g++ main.cpp命令?
如果你有一个只使用'cout'对象的非常基本的C++程序,你可以在源文件中包含iostream,然后在编译它时你不必链接任何外部库.换句话说,你可以简单地运行
g++ main.cpp -c
g++ main.o -o program
./program
当您想要使用更复杂的对象(如线程)时,不仅包含pthread,而且在链接程序时必须链接到库.
g++ main.cpp -c
g++ main.o -lpthread -o program
./program
所以我的问题是,为什么我不必链接任何库来使用所有的iostream对象?