是否有跨编译单元隐藏 C++ 类定义?
考虑,
//test1.cpp
struct local
{
local()
{
std::cout<<"test1::local\n";
}
};
void test1()
{
local l;
}
//test2.cpp
struct local
{
local()
{
std::cout<<"test2::local\n";
}
};
void test2()
{
local l;
}
//main.cpp
void test1();
void test2();
int main()
{
test1();
test2();
}
它应该像下面那样链接和打印,
test1::local
test2::local
我需要一个类似于静态函数的机制,我不想使用命名空间或匿名命名空间,因为它的符号信息仍然导出到目标文件中。