几天前,我不小心在 Notepad++ 中打开了一个商业应用程序的 C++ 可执行文件,发现可执行文件中存储了很多关于原始源代码的信息。
在可执行文件中,我可以找到文件名(app.c、dlgstat.c、...)、函数名(GetTickCount
、、DispatchMessageA
...)和一小段源代码,主要是条件(szChar != TEXT('\0')
、iRow < XTGetRows( hwndList )
)。之后,我检查了另一个 QT 可执行文件,并且:再次是源文件名和方法签名。
因此,我想知道有多少源代码信息真正存储在 C/C++ 可执行文件中(例如,使用 QT 或 MinGW 编译)。这可能是某种仍然包含原始源的调试版本吗?这些信息是否用于一些反射的东西?出版商有什么理由不删除这些东西吗?