jjzjj

cachedBarResult

全部标签

c++ - 如何让好友功能有内部链接

我需要确保声明为某个C++类的友元的C++函数具有内部链接。我需要函数成为友元的原因是因为它需要访问那个类的私有(private)成员,一个缓存函数结果的私有(private)成员。函数需要是同一个类的非成员(或者至少不是实例成员)的原因是因为其他代码需要能够获取指向它的非成员函数指针。重构这个太昂贵了。我需要它有内部链接的原因是因为会有很多这样的函数,而在AIX上,它们太多会导致链接时出现TOC溢出错误。这可以使用-bbigtoc链接器开关来克服,但我目前正在努力避免这种情况。此外,我真的很希望能够将类声明保留在头文件中,但将函数本身放在包含实现的.cxx文件中。总而言之,现在我有这