C++ gcc-如何创建对象文件的映射文件

C++ gcc-如何创建对象文件的映射文件,c++,gcc,qnx,C++,Gcc,Qnx,我有一个名为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 0x000

我有一个名为
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:\Temp\2qccTulUdb\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<
.plt 0x0000380c 0x848
*(.plt)
.plt 0x0000380c 0x848 C:/QNX650/target/qnx6/armle-v7/lib/crti.o
.文本0x00004054 0x5448
0x00004054_b文本=。
*(.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:\Temp\2qctuludb\eventlookupmodel.o
0x00004b80 AL2HMIBridge::EventLookupModel::数据(QModelIndex常量和,int)常量
0x000054f8 AL2HMIBridge::EventLookupModel::行计数(QModelIndex常量&)常量
0x000046a8 AL2HMIBridge::EventLookupModel::getNameFromId(无符号整数,无符号整数)
0x00004148 AL2HMIBridge::EventLookupModel::EventLookupModel(AL2HMIBridge::CsvImporter&,QObject*)
0x00004738 AL2HMIBridge::EventLookupModel::getElementFromId(无符号整数,无符号整数)
0x00004ab4 AL2HMIBridge::EventLookupModel::getElementFromName(QString常量&)
0x0000548 AL2HMIBridge::EventLookupModel::appendElement(AL2HMIBridge::EventLookupModel::EventElement常量&)
0x00005804 AL2HMIBridge::EventLookupModel::appendElement(QString常量&,unsigned int,unsigned int,QList<

生成
.map
文件的gcc命令是什么?

如果您正在链接程序并希望生成映射输出,请添加:

 -Xlinker -Map=output.map 
添加到gcc命令,以便创建映射文件output.map

如果要查看对象文件的符号和重定位,可以使用objdump工具:

objdump -x an_object_file.o

如果正在链接程序并希望生成地图输出,请添加:

 -Xlinker -Map=output.map 
添加到gcc命令,以便创建映射文件output.map

如果要查看对象文件的符号和重定位,可以使用objdump工具:

objdump -x an_object_file.o

链接器未运行:
.cpp
->编译器->
.obj
.map
文件您提供的示例看起来是链接器的结果,而不仅仅是编译到一个,o文件对象文件也必须有一个内存映射,对吗?您可以尝试objdump:objdump-x test.oobjdump可能是要使用的工具链接器是未运行:
.cpp
->编译器->
.obj
.map
文件您提供的示例看起来是链接器的结果,而不仅仅是编译到一个,o文件一个对象文件也必须有一个内存映射,对吗?您可以尝试objdump:objdump-x test.oobjdump可能是当时要使用的工具