草庐IT

java - 在 java 中,我们可以通过使用 javap 反汇编程序来探索 java 类和方法。如何在 C++ 中做同样的事情?

我是这个社区的新手,所以,如果我在错误的部分提出这个问题而违反了我们社区的任何条款和条件,那么我很抱歉。我一直在寻找上述问题的答案很长一段时间,但没有一个结果是相关的。我只是想知道在java中我们能够通过使用javap探索java类方法,如何在c++中做同样的事情???假设,我想查看java中String类的所有方法,我会使用javap来显示它的所有方法、它们的返回类型、它们的参数数量和它们的数据类型等。如何在C++中做同样的事情???还有一种命令行方式可以用java语言探索特定包中的所有包和类吗???假设java**java.awt.*或任何此类方法来了解特定包内的所有包和类。

c++ - 读取 mex 文件中的结构数据时发生奇怪的事情

我刚才被一个很奇怪的mex错误搞糊涂了。..将我的问题归结为核心,我们最终得到以下简单的mex代码。它只显示给定的结构字段是否为空...#include"mex.h"voidmexFunction(intnlhs,mxArray*plhs[],intnrhs,constmxArray*prhs[]){intnumElements=mxGetNumberOfElements(prhs[0]);intnumFields=mxGetNumberOfFields(prhs[0]);mxArray*tmpData;constchar*tmpName;for(intstructIdx=0;stru

没有事情做 随手写的小程序

Qt 代码包 https://download.csdn.net/download/nn_84/88830445dialog.h:#ifndefDIALOG_H#defineDIALOG_H#include#includeQT_BEGIN_NAMESPACEnamespaceUi{classDialog;}QT_END_NAMESPACEclassDialog:publicQDialog{Q_OBJECTpublic:Dialog(QWidget*parent=nullptr);~Dialog();mythreadthread1;mythreadthread2;mythreadthread3;

c++ - 我是否需要做一些特别的事情来让我的 C++ 程序使用 gcc 进行编译?

为什么当我键入g++program_name时,我的程序编译得很好,没有警告,但是当我键入gccprogram_name时,却出现满屏的undefinedreference错误...我经常使用标准库,这里是我的包含:#include#include#include#include#include#include#includeusingnamespacestd;我问的原因是我花了所有时间为codeeval.com挑战开发解决方案。它在用g++编译时完美运行,但不能用gcc编译。长话短说,当codeeval尝试运行我的东西时,我得到0分(!),尽管我不知道他们将如何测试提交......他

c++ - 将相同的功能应用于每个数据成员 - 对异构类型进行转换之类的事情

考虑以下结构:structTest{chara;shortb;intc;longlongd;voidtransformTest(){//Pseudoforeachdatamember(regardlessoftype)ofTestcallsomeTransform(datamember)}};我们还可以将lambda、函数指针、仿函数等传递给transformTest(),目前我不关心这些。执行此操作的最佳方法是什么? 最佳答案 最好的方法是明确地做:someTransform(a);someTransform(b);someTra

c++ - 为什么这被 g++ 优化掉了?至少,我认为这就是正在发生的事情

当我运行下面的代码时#includeintmain(intargc,char*argv[]){std::stringsimpleString("thisisjustasimplestring");std::cout在我的FedoraCore23机器上,uname-a报告:"Linuxglorp4.5.7-202.fc23.x86_64#1SMPTueJun2818:22:51UTC2016x86_64x86_64x86_64GNU/Linux"和g++--version说"g++(GCC)5.3.120160406(RedHat5.3.1-6)"第一个输出显示“这只是一个简单的字符串,

c++ - 要在我的 C++ 程序中使用 C 代码,我需要做什么特别的事情吗?

注意:我使用g++4.3.4版来编译我的C++代码。到目前为止,每当我想在我的代码中使用C风格的语言元素时,我似乎都可以将C的东西混合在我的C++中并与我的C++一起包含。我知道C++大部分向后兼容C...所以我想我的问题是这些:C的哪些部分与C++不向前兼容?如果我继续天真地将C的东西插入我的C++代码中,专业程序员会mock我吗?在同一个.cpp文件中包含C和C++代码的正确方法是什么?我可以继续使用g++来编译我的混合代码吗?对于这个问题,我主要关注处理单个.cpp文件和单个g++命令来编译它的解决方案。在这一点上,我真的不关心链接内容。 最佳答案

c++匿名构造函数做奇怪的事情

此示例程序显示了如何根据您传入的是局部变量、全局变量还是匿名变量来调用不同的构造函数。这是怎么回事?std::stringglobalStr;classaClass{public:aClass(std::strings){std::cout鉴于我可以调用globalStr.puke(),我猜测通过调用aClass(globalStr);,它正在创建一个名为的局部变量>globalStr类型aClass被用来代替全局globalStr。调用aClass(localStr);尝试做同样的事情,但编译失败,因为localStr已经声明为std::string。是否可以通过使用非常量表达式调用

C++ - 奇怪的事情,输入被颠倒了

我发现了一些奇怪的东西,我测试了这段代码:#includeusingnamespacestd;intmain(){inti=0,a[5];cin>>a[i++]>>a[i++]>>a[i++];for(intj=0;j有了这个输入:123然后像这样反转输入:321我认为它的输出应该和这段代码一样:#includeusingnamespacestd;intmain(){inti=0,a[5];cin>>a[i++];cin>>a[i++];cin>>a[i++];for(intj=0;j有没有人遇到过这种情况?谢谢。-编辑-谢谢大家的回答!!! 最佳答案

c++ - 展开 C 或 C++ 源文件中的单个宏

我有大量的c++源文件,我想通过扩展我指定的单个函数宏来转换它们,并保持所有其他预处理指令不变。宏的参数通常会涉及括号和大括号以及括号保护的逗号,因此使用sed和kin执行此操作似乎并不直接。更新:我们的代码大量使用宏来生成样板(例如swig的帮助程序代码)。随着我们更好地弄清楚如何做某些事情,各种宏不再做任何非常有趣的事情(例如,只是声明一些函数),许多人提示它们使代码更难阅读。我想扩展那些不太有趣的宏,这些宏可以扩展为简单的C++代码。 最佳答案 我通过在python中使用正则表达式来完成这类事情。您可以编写一个相当短的脚本来处