只包含一个#include的.cpp文件的要点是什么?

我开始使用第三方库进行一些工作,并且在Visual Studio 2010中构建它时,我注意到我多次收到此链接程序警告(LNK4221)。 我查看了创建被链接的对象文件时使用的源代码,发现这些文件的所有实现都位于头文件中。 有趣的是,我还注意到该项目包含相应的.cpp文件,其中包含的头文件包含#include和实现。

我很好奇 - 这是什么意思,为什么我想要使用这种技术? 如果.cpp文件没有为该项目添加任何值,为什么我不应该删除它们以摆脱链接器警告?

我试图寻找类似的问题,但没有发现任何有趣的事情。 如果你知道任何,请链接它们。


我使用这个来确保头部至少在第一个位置包含一个文件。 通过这样做,我确保头部可以自行编译。

为了传达链接器不发出警告,可以使用具有非常大变量的外部变量:

int variable_with_a_name_that_includes_the_file_name_somehow = 42;

是单个#include d文件stdafx.h吗? I.这种情况下,你正在处理预编译头文件。 正常的设置是为一个.cpp文件提供“生成预编译头文件”的编译选项,而项目中其余的.cpp文件具有“使用pch”。

链接地址: http://www.djcxy.com/p/11017.html

上一篇: What is the point of a .cpp file containing only a single #include?

下一篇: Disadvantage of using multipart form