在编译时自定义/重写符号名
Customizing/overriding symbol names at compile time
我对重写编译器符号名很感兴趣,通常使用像这样的字符串自动生成:
modules::ModuleAPI::ModuleAPI()
变为_ZN7modules9ModuleAPIC2Ev
我知道有一个别名属性:
void name1() __attribute__((alias ("name2")));
我更愿意做同样的事情,除了混叠,完全覆盖它。
这可能吗?
是的,gcc支持__asm__
关键字:
void name1() __asm__("name2");
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 有符号的int和int-有没有一种方法可以在C++中区分它们
- 将OpenCV C++重写为EmguCV C#-如何使用指针
- 将无符号char*转换为std::istream*C++
- 如何在C++中将一个无符号的 int 转换为两个无符号的短裤?
- vscode g++链路故障:体系结构x86_64的未定义符号
- 从矢量<无符号字符>转换为字符* 包括垃圾数据
- 如何理解将半精度指针转换为无符号长指针和相关的内存对齐
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- 使用gcc从静态链接的文件中查找可选符号
- C++中无符号字符溢出
- 使用无符号字符数组有效存储内存
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- VC++本机单元测试,找不到调试符号
- 在 C++ 中用派生类型重写成员函数
- 为什么我必须在C++中添加一个赋值符号来声明一个数组
- 重写基于模板类型符号的虚拟方法
- c++自动重写有符号/无符号
- 提振.重写main时未定义的符号