在java中,我们可以使用javap disassembeler探索java类、方法。如何在C++中实现同样的操作?
我是这个社区的新手,所以,如果我违反了任何t&;如果你问错了这个问题,我很抱歉。 我已经为上述问题寻找了很长一段时间的答案,但没有一个结果是相关的
-
我只是想知道,在java中,我们能够通过使用JavAP来探索java类方法,C++中如何使用同样的方法?李>
- 假设,我想看看java中String类的所有方法,我会使用javap,它的所有方法,它们的返回类型,它们的参数数量;显示其数据类型等李> 如何在C++中实现同样的操作???李>
- 还有一种命令行方式可以探索所有包&;java语言的特定包中是否有类李>
- 假设
java** java.awt.*
或任何这样的方法知道所有包&;类在特定包中李>
# 1 楼答案
你不能得到任何有用的东西。对于C++程序集,您可以得到最好的名称是被损坏的名称。Java将类的所有方法签名存储在。类文件,以便可以引用和引用它们。但是C++编译成汇编,它与内存地址、栈和其他低级的东西一起工作。p>
或者你可以阅读图书馆的文档。你可以用C++库做同样的事情:阅读文档。这就是它的目的。或读取库的头,因为每个C++库都有这些。p>
对于Java,您在前面提到了
对于C++,这实际上取决于所使用的编译器工具链。例如,微软Visual C++具有^ {CD2}} CLI工具,可以提供大量的信息。但同样,您只能得到损坏的名称,这可能反映也可能不反映程序使用的名称空间和类的结构javap
。好了:)大多数信息(方法、类、名称空间(或Java中的包))都可以从相关库的任何文档中了解。如果您想要源代码,那么您可以免费获得(对于开源项目),从库供应商处购买(对于封闭源代码项目),或者只需使用文档即可