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可能是当时要使用的工具