gcc - 如何创建目标文件的映射文件

2021-12-18 00:00:00 gcc c++ qnx

我有一个名为 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

相关文章