草庐IT

C++:在指针集中查找

全部标签

代码在 Windows 中有效,但在 Linux 中无效!为什么? 【简单的指针问题】

这是运输问题的工作代码片段(删除了实际功能。这里只有输入和输出功能。顺便说一句,这是不正确的)#include#includetypedefstructtransport{intcost;intalloc;}TRAN;voidproblem_input(TRAN**,int*,int*,int,int);voidproblem_display(TRAN**,int*,int*,int,int);intmain(){intn_dest;intn_org;inti;intj;printf("\n\n\tEnterNumberOfDestinations:");scanf("%d",&n_d

windows - 为什么系统在使用指针 Windows 时分配更多内存?

我使用HeapAlloc分配大量内存,例如400MB,但是当我检查程序的内存使用情况时,它实际上使用了1GB。//configuraciones.h#defineANCHO_MUNDO5000#defineALTO_MUNDO5000//unidades.cppunidad*unidades_memoria=(unidad*)HeapAlloc(heap,//UserHeapNULL,ANCHO_MUNDO*ALTO_MUNDO*sizeofunidad);unidad***unidades=newunidad**[ANCHO_MUNDO];//DefaultHeapfor(inti=

c++ - 如何将 IStream 实例中的数据读入 char 指针?

我试图从我的IStream实例中复制一些二进制数据(因为Gdiplus::Image只保存到IStream派生对象或文件路径)到一个字符指针,我可以通过知道分配的二进制文件从中简单地读取大小并可以访问指针。我的类如下:Upload::Upload(Gdiplus::Bitmap*bitmap,CLSIDclsEncoderId){intresult;STATSTGstatResult;result=CreateStreamOnHGlobal(0,TRUE,&m_hBufferStream);if(result!=S_OK)MessageBoxW(NULL,_T("Upload::Upl

c++ - 如果 EBP 帧指针为 NULL,堆栈是否已损坏?

我对堆栈跟踪的理解基本上是基于Whatisexactlythebasepointerandstackpointer?Towhatdotheypoint?.多年来我一直在帮助开发的一个程序在崩溃时会吐出一个堆栈转储,我已经习惯于根据C++编译器生成的.map文件来评估这些堆栈跟踪。很多次,我都成功地遍历了堆栈并调试了问题。但是,有时堆栈跟踪有一个NULLEBP(帧)指针。以下是此类示例堆栈转储中的相关片段:InitialEBPpointervalue:04d8fab0{ataddress04d8fab0:00000000}可以看到,EBP帧指针的值为NULL。因此,我不能走堆栈。这是堆栈

windows - 查找在特定时间段内更改的文件

我有一个安装了cygwin的Windows7盒子。对于给定的文件夹,如何找到特定范围内的文件时间戳?我需要对所有文件夹进行递归检查。 最佳答案 您可以使用find来搜索时间范围,但这是一种变通方法。创建两个临时文件,例如temp1、temp2touch--date'yyyy-mm-dd'temp1touch--date'yyyy-mm-dd'temp2这会将这些文件的时间戳更改为您设置的时间戳。然后使用以这些文件为范围的查找:find/some/dir/-newertemp1-not-newertemp2请注意,您的搜索将返回早于(

C++跨平台查找数据目录的解决方案

这是我的第一篇stackoverflow帖子。我正在制作一个游戏,我需要一个目录来放置它的资源,例如图像、声音和配置文件。(请注意,游戏需要能够修改自己的配置文件。)我想我可以在Linux上使用/usr/share/mygame/,而C:/ProgramFiles/MyGame/在Windows上,但问题出现了,因为游戏可能会或可能不会安装在任何一个地方,以及出于开发目的。我可以检查并找出可执行文件所在的文件夹,但据我所知,这是不好的做法,而且难以实现跨平台。我显然不能使用工作目录,因为游戏可以从shell脚本、命令行、其他进程等运行。我还可以搜索整个文件系统,可能是按敏感度顺序搜索某

c++ - 非分页内存指针

我声明了2个结构:structirp_list{IRP*irp;LIST_ENTRYlh;};和structdev_info{...LIST_ENTRYlh;...};我在DriverWrite函数(IRP_MJ_WRITE)中做:structirp_list*il;structdev_info*di=(structdev_info*)device->DeviceExtension;if(!(il=ExAllocatePool(NonPagedPool,sizeof(*il)))){ret=STATUS_NO_MEMORY;DbgPrint("[uart]UartWritecan'th

windows - 使用在内容中查找批量重命名文件

长期倾听者首次调用者。我正在尝试使用Windows批处理脚本来搜索目录中包含的文件中的特定字符串,并使用文件名和随机值对它们进行分类以进行进一步处理。这是我根据类似的帖子整理的:setlocalenabledelayedexpansionfor%%ain(C:\Temp\*.txt)do(sett1=string1-%RANDOM%.txtsett2=string2-%RANDOM%.txtfind"string1"%%~fa&&ren%%~fa%t1%find"string2"%%~fa&&ren%%~fa%t2%)如果我将set命令移到for循环之外,它会起作用,但我需要它在循环内

c++ - 在 Windows 8.1 中查找触摸数字化仪的物理尺寸

问题如何使用WinAPI在Windows8.1中确定触摸(或笔)数字转换器的物理尺寸?场景我正在使用GetPointerFrameTouchInfo()返回POINTER_TOUCH_INFO的API具有嵌入式POINTER_INFO的结构结构。POINTER_INFO结构有一个ptHimetricLocation成员,它指示具有10uM分辨率的触摸的物理位置(这对于手势识别来说更一致)。但是,在使用ptHiMetricLocation进行一些计算后,如果不知道数字化仪的物理尺寸,则无法准确找到相应的像素位置。限定词澄清一下,这不是关于物理屏幕尺寸的问题。这是关于触摸数字化仪(或笔式数

c# - 查找串行设备 COM 端口

我有一个WindowsC#应用程序。该应用程序通过串行端口连接到RFID读卡器。虽然我默认给它COM端口3。我遇到了用户端口不可用并且他正在使用的端口与他的Windows操作系统不同的情况。我的应用程序确实为用户提供了更改COM端口的能力,但是要找到他们的操作系统正在使用哪个COM端口,用户需要转到设备管理器并进行检查,新手可能不太适应。有没有一种功能或方法可以准确地找到我的RFID卡在Windows中连接到哪个端口,以便我可以简单地显示如下:应用程序端口设置为:COM....操作系统上的设备连接端口:COM....另外我的目标框架是3.5编辑1:尝试使用SerialPort.GetP