静态对象的名称调整
Name mangaling of static objects
我在C++中遇到了这篇关于动态链接的文章。
我们可以创建一个C++工厂,它将返回我们感兴趣的类的对象。另外,我们应该在工厂的文件范围内创建一个静态对象,以便可以使用 dlsym()
.(文章建议静态对象不会被命名破坏。
为什么静态对象没有被命名破坏?
名称重整是为了帮助解决重载的函数名称而发明的。您可以定义多个具有相同名称的函数,仅在其参数的计数和类型上有所不同。名称重整允许链接器将此类函数解析到代码中的正确位置。
与函数名称不同,全局命名空间中静态对象的名称不能重载,因此不需要对其进行修改。事实上,全局命名空间之外的对象的名称被篡改了。
相关文章:
- 什么时候调用组成单元对象的析构函数
- 对RValue对象调用的LValue ref限定成员函数
- CMake-按正确顺序将项目与C运行时对象文件链接
- 空基优化子对象的地址
- 将对象数组的引用传递给函数
- 为char数组调整zlib-zpipe
- 你能重载对象变量名本身返回的内容吗
- C++使用整数的压缩数组初始化对象
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 为什么 vector 的方法调整大小会创建一个额外的对象?
- C++:为什么 boost::p tr_vector 调整大小需要对象具有默认构造函数
- 如何获得一个窗口,以便在调整C++大小时保留绘制的对象
- 静态对象的名称调整
- 调整模板对象矢量大小时出错
- 调整对象数组的大小
- 如何调整空的 cv::Mat 对象
- 当函数重新调整通过引用传递时检查对象是否存在
- 调整具有相同基类的对象上的指针数组的大小
- 为什么在初始化和调整对象向量大小时调用析构函数
- c++中可调整函数对象的编译错误