我是这个社区的新手,所以,如果我在错误的部分提出这个问题而违反了我们社区的任何条款和条件,那么我很抱歉。 我一直在寻找上述问题的答案很长一段时间,但没有一个结果是相关的。
- 我只是想知道在 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 工具,它可以提供非常丰富的信息。但同样,您只能获得经过修饰的名称,这可能反射(reflect)也可能不反射(reflect)程序使用的命名空间和类的结构。
Suppose java** java.awt.* or any such method to know all the packages & classes inside a particular package.
...
大多数此类信息(方法、类、 namespace (或 Java 中的包))都可以从相关库的任何文档中了解。如果您需要源代码,那么您可以免费获得它(对于开源项目),从库供应商处购买(对于闭源项目),或者只是凑合使用文档。
关于java - 在 java 中,我们可以通过使用 javap 反汇编程序来探索 java 类和方法。如何在 C++ 中做同样的事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43963958/