草庐IT

分配数

全部标签

c# - 64 位 Windows 可以分配超过 7FFF'FFFF'FFFF 的虚拟内存吗?

上下文我正在努力升级.NET库以支持64位。该库直接在Windows上其他进程的内存中执行各种操作。我必须在IntPtr(最大正值7FFF'FFFF'FFFF'FFFF)或UIntPtr(最大正值FFFF'FFFF'FFFF'FFFF)两种类型之间进行选择处理我的内存指针。网上关于这两者的资料很多。IntPtr似乎是事实上同意的选择,因为它符合CLS并且大多数.NETAPI都依赖它(引用Marshal来自InteropServices).问题我决定打开一个64位进程并检查分配的内存区域,以及进程中加载​​的模块,看看使用UIntPtr支持无符号指针是否有值(value)(地址>7FFF

c++ - 使用 RSA (PKCS 7) 分配/验证签名

对于使用RSA加密消息操作(PKCS#7)分配/验证签名的简单快速库有什么建议吗? 最佳答案 根据我的观点和经验,Crypto++一直是为任何平台加密和解密数据的最佳选择。http://www.cryptopp.com/ 关于c++-使用RSA(PKCS7)分配/验证签名,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3186199/

c - 显示分配的内存量

嗨我正在编写一些测试内容以查看分配的内存量是否正确显示在Windows任务管理器中。下面是代码;intmain(intargc,char*argv[]){structstatst;charcommandXCopy[200];charcommandDelete[200];char*fNames[2^16];inti=0;char*ptr=(char*)malloc(sizeof(char)*2^32);printf("\nTEST");if(!ptr)printf("\nCannotallocate");elseprintf("\nMemoryallocate");while(1==1)

c++ - 在 Windows Mobile 中动态分配内存映射文件的大小

我正在尝试找到一种方法来为不同进程之间共享的内存映射文件动态分配内存。我的设计如下:在WindowsMobile中,我正在编写一个显示线程,它使用共享内存处理来自不同进程的显示部分。计划是创建一个等于屏幕大小的内存映射文件例如:如果屏幕大小是640X480,那么我创建一个640X480X4的BYTE数组,然后与另一个进程共享这个另一个进程更新内存中的hDC显示,然后将更新发送到显示线程以更新设备上的显示。这工作正常,但一个限制是在编译时分配内存,因为我们不能动态分配内存(http://msdn.microsoft.com/en-us/library/aa366542%28v=vs.85

python - 如何将通过 ctype malloc 分配的二进制缓冲区保存到 Python 中的文件中?

我有以下代码importctypespBuf=ctypes.cdll.msvcrt.malloc(nBufSize)#wrotesomethingintothebuffer如何使用Python2.5将缓冲区的内容保存到文件中?您可能已经知道,这是行不通的,给出TypeError:argument1mustbestringorread-onlybuffer,notint:f=open("out.data","wb"f.write(pBuf) 最佳答案 也许用ctypes.create_string_buffer()分配缓冲区会更好而不

c - 传递 C 字符数组并分配导致程序崩溃

我不知道错误是什么,因为这是在Windows上发生的,我不知道如何在Windows上逐步执行程序。关于为什么程序在这里崩溃的任何想法(见评论行)?我认为这可能与内存滥用有关。#defineTABLE_MAX_ROW500#defineTABLE_MAX_COL20#defineTABLE_MAX_ELT_LEN60从这里开始:foo(){chartable[TABLE_MAX_ROW][TABLE_MAX_COL][TABLE_MAX_ELT_LEN];bar(table);}传递给这个函数:bar(chartable[TABLE_MAX_ROW][TABLE_MAX_COL][TAB

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

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

python - 如何有效地分配预定义大小的文件并使用 Python 将其填充为非零值?

我正在编写一个程序,使用动态规划来解决一个难题。DP方案需要存储一张大表。整个表占用大约300Gb。物理上它存储在40~7Gb文件中。我用字节\xFF标记未使用的表条目。我想尽快为这张table分配空间。该程序必须同时在Windows和Linux下运行。简而言之,我想以跨平台的方式高效地创建充满特定字节的大文件。这是我目前使用的代码:defreset_storage(self,path):fill=b'\xFF'withopen(path,'wb')asf:for_inrange(3715948544*2):f.write(fill)创建一个7Gb的文件大约需要40分钟。如何加快速度?

python - 在 Python 中释放通过 ctypes 分配的内存

我有一个基于ctypes的库,它包装了一个有时会分配需要释放的内存的C库。在Linux下这很容易,因为常见的glibc功能已链接到该C库中,我可以简单地对其调用free()。但是,当我在Windows下访问第三方编译的库时,似乎无法使用相同的功能。ctypes.util.find_msvcrt()看起来很有希望,但它返回None即使我在Windows下运行。我不确定这是否意味着源DLL是使用Microsoft工具链以外的东西构建的。所以,我只剩下需要释放的内存,而且没有明显、简单的方法来释放它。有人有什么想法吗? 最佳答案 使用MS

c++ - Windows中给进程分配内存时,是否总是会触发页面错误?

我正试图在操作系统级别深入了解Windows内存管理的内部机制。难道在分配内存时,总是在幕后触发页面错误吗?这是否意味着停止软页面错误的唯一方法是停止在进程内分配新内存?定义我将“内存分配”定义为任何形式的malloc,即new、LocalAlloc、VirtualAlloc、HeapAlloc等。我将“页面错误”定义为将内存从操作系统池映射到进程工作集的过程,该操作在高端Xeon上持续花费250us。 最佳答案 你需要非常清楚这里发生的不同事情。该进程有两个独立的部分,提交内存和将内存分页到进程中。这些都与调用malloc、Hea