g++ 命令中".map"文件有什么用?
What is the use of ".map" file in the g++ command?
我正在构建一个RPM,在构建时,我发现以下命令用于构建RPM的一个共享对象。
g++ /*some compiler options*/ -O1 -Wl,--version-script abc.map -L<some paths> and the remaining command.
我不明白命令中"--version script"选项和"abc.map"文件的用途。它做什么?以下是"abc.map"文件的内容。
URE_1{
global:
_ZTI*; _ZTS*; # weak RTTI symbols for C++ exceptions
/*some method names explicitly*/
local:
*;
}
我认为这与"共享对象"文件中符号的可用性有关,但我不确定。
我认为这与"共享对象"文件中符号的可用性有关,但我不确定。
你说得对。
参见3.9版本命令:
使用ELF时,链接器支持符号版本。符号版本只有在使用共享库时才有用。当动态链接器运行可能已链接到共享库的早期版本的程序时,它可以使用符号版本来选择函数的特定版本。
相关文章:
- 如果 KEY 是 std::list 或 std::vector 而不是值,那么 std::map 的默认行为是什么?
- map<string, int> m= {}; 在C++中是什么意思?
- 创建可以遍历 std::map 值的通用模板迭代器的最简单方法是什么?
- 什么是 Direct3D 12.0 上的"Map Default Buffer"?
- freq_table[field_pm_value] = map<string, int>(); 是什么意思?
- map<int,int>的*迭代器是什么?它不是pair<int,int>
- 方括号在"map <string, int> instance[numberFeatures];"中是什么意思
- 将强制转换运算符重载到 std::map 的正确语法是什么
- 在内存使用方面,c++ 中的 map 和 unordered_map 之间有什么区别吗?
- 什么是 Python 的 map(int,input().split()) 的 C++ 等价物
- 什么算作 std::map 的"write"?
- 这些会做什么(映射[x] [y] = 2;,map [x] [y] = 3;,以及map [x] [y] = 4;在下面
- STD :: MAP的基础结构是什么
- 访问std::map中元素的最有效方法是什么
- 添加和初始化新std::map元素的最有效方法是什么
- template_hint在map中有什么用途
- 有什么理由在 C++17 中使用 std::map::emplace() 而不是 try_emplace() 吗?
- g++ 命令中".map"文件有什么用?
- std::set 和 std::map 有什么区别
- C# 在<map>C++中相当于什么?