我是这个社区的新手所以,如果我通过在错误的部分提出这个问题来侵犯我们社区的任何问题,那么我很抱歉。 我一直在寻找上述问题的答案很长一段时间,但没有一个结果是相关的。
java** java.awt.*
或任何此类方法来了解所有包裹&特定包中的类。答案 0 :(得分:1)
我只想知道在java中我们能够通过使用javap来探索java类方法,如何在c ++中做同样的事情???
你无法获得任何有用的东西。对于C ++程序集,您可以获得的最好的名称是错误的名称。 Java在.class文件中存储类的所有方法签名,因此可以引用和引用它们。但是C ++编译为程序集,并且可以处理内存地址和堆栈以及其他较低级别的内容。
假设,我想在java中看到String类的所有方法,我会使用javap所有的方法,它们的返回类型,它们的参数数量和数量。显示他们的数据类型等。 如何在c ++中做同样的事情
或者您可以阅读该库的文档。您可以对C ++库执行相同的操作:阅读文档。这就是它的用途。或者阅读库的标题,因为每个C ++库都有这些。
还有一种命令行方式来探索所有包&在java语言的特定包中有类???
对于Java,您之前提到过javap
。你去了:))
对于C ++,这实际上取决于您正在使用的编译器工具链。例如,Microsoft Visual C ++具有dumpbin
CLI工具,可以提供大量信息。但同样,您只能获得受损的名称,这可能会也可能不会反映程序使用的名称空间和类的结构。
假设java ** java.awt。*或任何此类方法来了解所有包&特定包中的类。
...
大部分信息(方法,类,名称空间(或Java中的包))都可以从相关库的任何文档中学习。如果你想要源代码,那么你可以免费获得它(对于开源项目),从库供应商那里购买它(用于闭源项目),或者只是使用文档。
答案 1 :(得分:0)
您的主要问题是可执行文件(c ++程序的输出),您可以找到成员,函数等。
在C ++中是不可能的。
C ++可执行文件包含本机汇编代码 在Java中,类文件实际包含字节代码。