草庐IT

c - 在 c 中运行代码时 Windows 中的奇怪错误

我写了一些代码来解决英国信息学奥林匹克问题1(2012)在c中。如果它对任何人有任何帮助,或者可能感兴趣,程序会找到一个数的唯一质因数的乘积。如果数字是素数,则返回原始数字。它应该可以处理1000000的输入,并且在linux和mac上编译时也是如此。由于某些原因,当它在windows上编译时(使用mingw编译器)它不适用于520558以上的输入!这可能与声明一个长度为520558个整数的数组有关,但我不知道如何补救。任何帮助将不胜感激谢谢。代码:#include#includeintmain(intargc,char*argv[]){printf("Pleaseenteryouri

c++ - 访问硬盘的未分配空间

如何从Windows访问和写入硬盘驱动器的未分配空间?我所说的未分配HDD空间是指在创建分区后HDD上剩余的空间,或者只是HDD上尚未分配给分区的可用空间。 最佳答案 您需要读取硬盘的分区表,找到未分配的空间,然后读取该空间。此类操作需要直接访问磁盘。在Vista之前,可以调用CreateFile("磁盘本身的特殊名称")像打开文件一样打开磁盘。在Vista和Windows7中,由于Windows的安全限制(至少对于非管理员帐户),它不再可能。您可以使用我们的RawDisk访问磁盘扇区以在Vista和更高版本系统中进行读取和写入的产

c++ - Windows 上的 endian.h

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。我正在从事一个跨平台项目,我需要在该项目上使用endian.h。但此文件不在Windows或MacOSX上。有没有什么办法可以让它在没有文件的情况下工作,或者有什么办法可以获取文件吗?

Java 认为我的主文件夹是 C 盘?

出于某种原因,我一定是更改了一些配置什么的,因为在一个全新的项目中,我输入了这个:System.out.println(System.getProperty("user.home"));并获得以下输出:C:\而以前,它通常返回类似C:\Users\...的内容是否有我需要清除的配置文件? 最佳答案 当您在代码中调用“System.getProperty("user.home");”时,JVM不使用Windows环境变量来确定用户配置文件的位置,而是而是访问引用用户桌面目录的注册表项。然后它获取桌面的父目录并假定这是用户的配置文件目录

c++ - 如何使用 C/C++ 在 exe 中完全内部存储用户设置?

这更多的是关于如何以及是否真正解决问题的问题。HowcanyoustoreusersettingscompletelyinternallyinanexewithC/C++?这甚至可能吗?如果可以,如何实现?我主要只是好奇,因为我真的想不出办法,对我来说,有些应用程序似乎可以做到这一点。注意:我已经知道生成子进程、使用文件、云或注册表等方法,我只是想知道您是否真的可以在内部保存设置。 最佳答案 你可以用迂回的方式。但是您将不得不担心修改可执行文件的影响,这可能会阻止它再次执行。例如,如果你制作一个简单的程序intmain(){std:

c++ - 将 int 类型转换为 double C++

我是编程新手,这可能是一个显而易见的问题,尽管我终生无法弄清楚为什么我的程序没有以double形式返回。我想编写一个股票程序,接收股票、价格的全部美元部分和小数部分。小数部分将作为两个int值输入,并包含一个具有3个int值的函数定义。该函数以double形式返回价格。#includeusingnamespacestd;intprice(int,int,int);intmain(){intdollars,numerator,denominator,price1,shares;charans;do{cout>dollars>>numerator>>denominator;cout>sha

c++ - 如何在不同的目标平台上以编程方式巧妙地注册 32 位 COM/DLL 组件?

我曾使用以下函数在32位Windows平台(如WindowXP和Windows7)上注册我的32位COM/DLL组件。它工作正常。但是在64位Windows7上运行时,该函数无法注册成功。结果符合预期!intRegisterComponent(LPCTSTRlpszDllName){//LoadthelibraryHINSTANCEhLib=LoadLibrary(lpszDllName);if(hLib==NULL){return-2;}typedefHRESULT(CALLBACK*HCRET)(void);HCRETlpfnDllRegisterServer;//Findthee

c++ - 使用跨平台框架为一个平台开发有什么缺点?

最近我一直在考虑是否应该开始研究另一个框架,因为我只有一台Windows机器,而且我不打算很快制作跨平台软件。所以帮助我做出这个决定......当我不打算进行跨平台开发时,使用跨平台框架有什么缺点吗?直觉上,我会说专用于某个平台的框架在该平台上比跨平台框架表现更好。但我只是假设。请列举我可以开始研究的框架和库,以便使用C++在Windows上快速开发应用程序。有大量文档的是首选。如果您包含一个可以帮助我入门的链接,我将不胜感激。 最佳答案 Isthereanydisadvantagetousingacross-platformfra

c - Windows Driver 时间戳函数

我正在修改现有的Windows内核设备驱动程序,我需要在其中捕获时间戳。我打算使用time.h库并调用clock()函数来获取它,但是在windowsvisualstudio下,链接失败了。所以我把它当作我需要在驱动程序库中工作的一种方式。我找到了以下函数,KeInitializeTimer和KeSetTimerEx,但如果我计划设置定时器并在其上唤醒,则会使用这些函数。我真正需要的是能给我一个时间戳的东西。有什么想法吗? 最佳答案 我正在用答案更新我的问题,以便其他人从我的发现中受益。要获得时间戳,您可以使用KeQueryTick

c - Windows错误参数类型c编程

我有这段代码,但我没有使用Windows的经验:#include#includetypedefBOOL(WINAPI*P_GDFSE)(LPCTSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);voidmain(intargc,char**argv){BOOLfResult;char*pszDrive=NULL,szDrive[4];DWORDdwSectPerClust,dwBytesPerSect,dwFreeClusters,dwTotalClusters;P_GDFSEpGetDiskFreeSpaceEx=NULL;un