【发布时间】:2013-03-31 20:52:45
【问题描述】:
在 C++ 程序的反汇编视图中,GLOBAL 指的是什么?
我有一个 lign 上面写着:
je 0xb74d334a <_GLOBAL__sub_I_myFile.cpp+106>
我猜这是对 myFile.cpp 的调用,但我想知道调用前 GLOBAL 单词的含义...
myFile.cpp 的内容:
[include guards]
#include <mutex.hpp> // Functions I use to handle mutex
namespce myNameSpace {
class myClass {
public:
static void stdOutFormat(const char* format, ...);
private:
static Mutex(Synchro) // Custom functions from mutex.hpp and others ...
};
}
[end include guards]
反汇编(我尽量简洁):
[some calls]
call 0xb74d1b80 <os_mutexInit@plt>
test %esi, %esi
je 0xb74d33a <_GLOBAL__sub_I_myFile.cpp+106>
mov (%esi), %eax
[some calls]
【问题讨论】:
-
它可能只是函数内部的一个标签。或者它可以是静态函数的名称。不能说更多,信息太少。
-
你需要myFile.cpp的代码吗?
-
你可以添加它,如果它不是很大。如果它很大,请将其切成尽可能小的尺寸,以便拆卸成类似的东西。当然,您需要同时显示 C++ 代码及其反汇编代码,而不仅仅是一条指令。
-
你用的是什么编译器?
-
GNU GCC 4.7.2 和基于 Qt 4.8.3 的 QtCreator 2.5.2
标签: c++ assembly x86 disassembly