草庐IT

c++ - 如何捕捉函数调用

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion注意:本主题与调试和try、throw、catch无关,我不能直接在我的函数中放置任何东西,只能像WINapi一样受到外部影响。如果调用任何函数,我需要一些方法来获取我的应用程序中的信息。它应该在运行时“捕获”函数调用,我无法为我的应用程序中存在的每个函数实现任何额外的代码。我想一些WINAPI应该可以工作,但我找不到合适的方法来处理来自进程的每个调用。信息最好有3样东西:刚被调用的函数的入口点(地址)。

c++ - Qt 写入 xml:QIODevice::write (QFile, "D:/logs.xml"): device not open

我正在尝试将数据保存到Qt中的XML文件中。到处都被告知我需要写这样的检查:if(!file.open(QIODevice::WriteOnly|QIODevice::Text)){qDebug()我总是得到“无法打开”的结果。我就是找不到任何相关信息。如果我不使用这个检查,我会得到这样的错误:QIODevice::write(QFile,"D:/logs.xml"):devicenotopen。我只是不知道该怎么办。这是我在教程中尝试使用的完整代码:QDomDocumentdocument;//MakingtherootelementQDomElementroot=document.

c - 将字符串分配给结构中的 char*

也许我今天起得太久了,但我不明白为什么会这样:intmain(){structemf_struct{longnum;char*str;doublereal;};structemf_structemf[10];emf[1].real=4.5;emf[1].str="Thisisastring";emf[1].num=1234567890;printf("%d-%s-%f\n",emf[1].num,emf[1].str,emf[1].real);return(0);}在Microsoft下编译时(只是cl文件名),输出为:1234567890-这是一个字符串-4.500000如果结构使用

c++ - 在 C++ 中为 CreateWindow 宏添加负值

我在WindowsGUI编程中使用CreateWindowAPI创建了文本框,如下所示,CreateWindow(TEXT("EDIT"),TEXT(""),WS_CHILD|WS_VISIBLE|ES_AUTOHSCROLL|WS_DLGFRAME|ES_RIGHT,x,y,w,h,hwnd_,(HMENU)0,GetWindowInstance(hwnd_),0);当我使用ES_NUMBER编辑控件样式时,只允许将数字放入编辑控件中。但我不能将负值设为-123。有没有办法在编辑控件中只支持负值内的整数?任何人都可以帮助我吗? 最佳答案

c++ - 获取文件的完整路径给定其 "Reference Number"

我想使用Windows的更改日志来跟踪一些文件更改。我设法使用示例代码访问上述日志并从中读取记录。我现在面临的问题是记录只包含相关的文件名,而不是它的绝对路径。我尝试将FSCTL_GET_NTFS_FILE_RECORD与DeviceIoControl一起使用来检查我是否可以通过这种方式获得绝对路径,但是调用DeviceIoControl总是返回相同的文件记录,缓冲区中有“FILE0”,我给它的引用号没有它的HighPart(例如,我给出了0x001400000015adec的引用编号,当函数返回时,输出的引用编号为0x000000000015adec。这是我的代码(我在Windows

在 C 程序 (Visual Studio) 中正确放置 volatile 修饰符

我知道volatile修饰符已被广泛讨论。请不要对我大喊大叫。我知道为什么要使用它,但我正在尝试在使用VisualStudio2008和2010的多线程C程序中正确使用它。在Windows10上遇到了一些问题。我将修饰符放在简单声明中的位置是否重要?例如,这两个构建都成功,但我想知道编译器的含义是否有任何差异://differenceifanybetweenthesetwo?volatilechar_initialized=0;charvolatile_initialized=0;更复杂的声明呢?鉴于这种结构:typedefstruct_KEY_HANDLE{ULONGhandle;v

c - fwrite 和 fread 顺序问题

我正在尝试将带有数组的简单结构写入文件,然后读取它。它适用于小于25的小数组,但由于某种原因,此后的所有数据均未初始化;typedefstructTestStruct{intdata[30];}TestStruct;TestStruct*test=malloc(sizeof(TestStruct));for(inti=0;idata[i]=i;}constchar*filename="some.txt";FILE*file=fopen(filename,"w+");fwrite(test,sizeof(TestStruct),1,file);rewind(file);TestStruc

c++ - cURL Windows 构建配置的说明

cURL项目包含大量Windows上的构建配置可供选择,但我找不到关于每个配置的用途的良好概述。cURL构建配置的不同部分的目的是什么?从cURL7.63.0的VC15解决方案文件中提取的构建配置列表:DLLDebug-DLLOpenSSL-DLLLibSSH2DLLDebug-DLLOpenSSL-DLLLibSSH2DLLDebug-DLLOpenSSLDLLDebug-DLLOpenSSLDLLDebug-DLLWindowsSSPI-DLLWinIDNDLLDebug-DLLWindowsSSPI-DLLWinIDNDLLDebug-DLLWindowsSSPIDLLDebug

c++ - 使用 Dbghelp.h 的函数列表

我想打印函数名(导入的、导出的、普通/本地函数)而不是变量名等等。SymEnumSymbolsEx枚举所有符号,但我只想要函数。里面也找不到怎么区分函数和变量callback功能。有没有办法只枚举函数? 最佳答案 SYMBOL_INFO传递给您的回调有Flags,并且函数有SYMFLAG_FUNCTION 关于c++-使用Dbghelp.h的函数列表,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

c++ - Windows GetDIBits 不返回预期值

我目前正在编写一个扫描屏幕并查找像素的小程序。我的问题是GetDIBits函数似乎没有返回正确的屏幕截图。将位图复制到剪贴板会将正确的屏幕图像放入剪贴板。我决定将函数的输出打印到一个BMP文件,以了解发生了什么,这显然不是我所期望的。我还会提到我有3个显示器,以防它可以解释为什么它的行为不像预期的那样。classTest{intscreenWidth;intscreenHeight;HWNDtargetWindow;HDCtargetDC;HDCcaptureDC;RGBQUAD*pixels;HBITMAPcaptureBitmap;boolTakeScreenshot(){Zero