在java中,我们可以使用javap disassembeler探索java类,方法.如何在c中做同样的事情?

我是这个社区的新手所以,如果我通过在错误的部分提出这个问题来侵犯我们社区的任何问题,那么我很抱歉.

我一直在寻找上述问题的答案很长一段时间,但没有一个结果是相关的.

>我只想知道在java中我们能够通过使用javap来探索java类方法,如何在c中做同样的事情?
>假设,我想在java中看到String类的所有方法,我会使用javap所有的方法,它们的返回类型,它们的参数数量和数量.显示他们的数据类型等.
>如何在c ???中做同样的事情
>还有一个命令行方式来探索所有包&类在java语言的特定包中有???
>假设java ** java.awt.*或任何此类方法来了解所有包&特定包中的类.

最佳答案

I just wanna know that in java we were able to explore a java class methods by using javap, how to do the same in c++ ???

你真的无法获得任何有用的东西.对于C程序集,您可以获得的最好的名称是错误的名称. Java在.class文件中存储类的所有方法签名,因此可以引用和引用它们.但是C编译成汇编,它适用于内存地址和堆栈以及其他较低级别的东西.

Suppose, I wanted to see all the methods of String class in java, I would have used javap by which all its methods, their return type, their number of arguments & their data type etc, are displayed.
How to do the same in c++ ???

或者您可以阅读该库的文档.您可以使用C库执行相同操作:阅读文档.这就是它的用途.或者通读库的标题,因为每个C库都有.

Also is there a command line way to explore what all packages & classes are there in a particular package in java language ???

对于Java,您之前提到过javap.你去:)

对于C,这实际上取决于您正在使用的编译器工具链.例如,Microsoft Visual C具有dumpbin CLI工具,可以提供大量信息.但同样,您只能获得损坏的名称,这可能会也可能不会反映程序使用的命名空间和类的结构.

Suppose java** java.awt.* or any such method to know all the packages & classes inside a particular package.

大多数此类信息(方法,类,名称空间(或Java中的包))都可以从相关库的任何文档中学习.如果你想要源代码,那么你可以免费获得它(对于开源项目),从库供应商处购买(用于闭源项目),或者只是使用文档.

点赞