gcc - 如何创建目标文件的映射文件
我有一个名为 a.out.map
的 .map
文件,它是从 .cpp
/.obj
文件,但我不记得是怎么做的.我已经包含了一个片段:
I have a .map
file called a.out.map
that was created from a .cpp
/.obj
file but I don't remember how. I've included a snippet:
.plt 0x0000380c 0x848
*(.plt)
.plt 0x0000380c 0x848 C:/QNX650/target/qnx6/armle-v7/lib/crti.o
.text 0x00004054 0x5448
0x00004054 _btext = .
*(.text .stub .text.* .gnu.linkonce.t.*)
.text 0x00004054 0x0 C:/QNX650/target/qnx6/armle-v7/lib/crti.o
.text 0x00004054 0xf4 C:/QNX650/host/win32/x86/usr/lib/gcc/arm-unknown-nto-qnx6.5.0eabi/4.4.2/pic//crtbegin.o
.text 0x00004148 0x1b3c C:Temp2qccTulUdbeventlookupmodel.o
0x00004b80 AL2HMIBridge::EventLookupModel::data(QModelIndex const&, int) const
0x000054f8 AL2HMIBridge::EventLookupModel::rowCount(QModelIndex const&) const
0x000046a8 AL2HMIBridge::EventLookupModel::getNameFromId(unsigned int, unsigned int)
0x00004148 AL2HMIBridge::EventLookupModel::EventLookupModel(AL2HMIBridge::CsvImporter&, QObject*)
0x00004738 AL2HMIBridge::EventLookupModel::getElementFromId(unsigned int, unsigned int)
0x00004ab4 AL2HMIBridge::EventLookupModel::getElementFromName(QString const&)
0x00005548 AL2HMIBridge::EventLookupModel::appendElement(AL2HMIBridge::EventLookupModel::EventElement const&)
0x00005804 AL2HMIBridge::EventLookupModel::appendElement(QString const&, unsigned int, unsigned int, QList<
生成 .map
文件的 gcc 命令是什么?
What's the gcc command to produce the .map
file?
推荐答案
如果你正在链接程序并且想要生成地图输出添加:
If you are linking the program and want to generate map output add:
-Xlinker -Map=output.map
到 gcc 命令以使其创建映射文件 output.map
to the gcc command in order to make it create the map file output.map
如果要查看目标文件的符号和重定位,可以使用objdump工具:
If you want to see the symbols and relocation of an object file, you can use the objdump tool:
objdump -x an_object_file.o
相关文章