内联关键字可以更改函数的行为。

时间:2018-08-10 17:31:01

标签: c++ inline

我有一个设计不良的库,该库在头文件中具有非inline函数的实现。

我必须使用该库的项目依赖于它,但是在链接时它会在头文件中生成所有非inline函数的重复定义。

一个简单的解决方法是声明函数inline并照常进行编译,一个更好的解决方法是将实现文件移动到它们自己的.cpp文件中,并将其余文件编译为库。

所以我的问题是双重的: 1)如果我内联声明函数,会影响它们的行为,即是否有可能不会正常发生名称冲突,而是会在我声明内联函数后发生。例如是否可以使它们不是线程安全的。 2)(可选)是否存在用于在Linux / OS X下编译动态链接库的教科书或详细指南。

0 个答案:

没有答案