gcc - 如何创建目标文件的映射文件
gcc - how to create a mapfile of the object file
我有一个名为 a.out.map
的 .map
文件,它是从 .cpp
/.obj
文件创建的,但我不记得是如何创建的。我包含了一个片段:
.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:\TempqccTulUdb\eventlookupmodel.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 命令是什么?
如果您正在链接程序并希望生成地图输出,请添加:
-Xlinker -Map=output.map
到 gcc 命令以使其创建映射文件 output.map
如果要查看目标文件的符号和重定位,可以使用objdump工具:
objdump -x an_object_file.o
我有一个名为 a.out.map
的 .map
文件,它是从 .cpp
/.obj
文件创建的,但我不记得是如何创建的。我包含了一个片段:
.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:\TempqccTulUdb\eventlookupmodel.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 命令是什么?
如果您正在链接程序并希望生成地图输出,请添加:
-Xlinker -Map=output.map
到 gcc 命令以使其创建映射文件 output.map
如果要查看目标文件的符号和重定位,可以使用objdump工具:
objdump -x an_object_file.o