草庐IT

new_image

全部标签

c++ - 运算符 "new"仅返回一个类的非本地堆指针?

语言:C++平台:WindowsServer2003我有一个调用DLL的exe。编辑:(exe没有做任何事情,它调用了几个全局函数,这些函数在DLL中完成与DLL相关的所有事情。它没有显式新建任何DLL类)我在DLL中为A类分配(新)内存,它返回给我一个非本地堆指针。我尝试新建DLL中的其他类(在DLL中),“new”为它们返回一个有效的堆指针,它唯一的ClassA是没有被正确分配。我在Windows上并通过此函数调用验证堆:编辑:ClassA*pA=newClassA();_CrtIsValidHeapPointer((constvoid*)pA)我很困惑为什么这只发生在new-in

c++ - 使用 GetModuleHandle 获取指向 IMAGE_DOS_HEADER 的指针?

一旦我的进程加载到内存中,我就试图获取它的图像库。据我了解,您可以调用GetModuleHandle来获取图像库。我的问题是,返回的句柄是否实质上指向IMAGE_DOS_HEADER结构,以便您可以执行以下操作:PIMAGE_DOS_HEADERDosHeader;DosHeader=(PIMAGE_DOS_HEADER)GetModuleHandle(NULL);如果这不正确,您还可以使用什么其他方法? 最佳答案 这是正确的,但如果您想要dll的模块句柄,则需要指定其路径。否则,您将获得进程exe的句柄。您还应该首先检查返回的HM

c++ - 在 Windows 中,如何将 `GlobalAlloc` 替换为 `new` ?

在Windows中,如何将GlobalAlloc替换为new?您好,我有这段代码(来自这里:"ReadingfromaMailslot")使用GlobalAlloc分配内存。DWORDcbRead=0;LPTSTRlpszBuffer=(LPTSTR)::GlobalAlloc(GPTR,cbMessage);//cbMessageisfromacalltoGetMailslotInfoif(NULL==lpszBuffer)returnFALSE;lpszBuffer[0]='\0';BOOLfResult=::ReadFile(hSlot,lpszBuffer,cbMessage,

windows - vmware image windows 7 无法初始化 winring0 dll?

我有一个带有Windows7的vmware镜像,一个程序需要winring0dll,但是当我启动该程序时,我收到错误消息:我无法初始化winring0dll,但我的程序可以在nativeWindows7中运行?这是vmware镜像的已知问题吗?如何在vmware镜像中初始化winring0?在我的文件夹中有32位和64位的winring0dll。 最佳答案 基本上,您是在尝试在虚拟硬件上查找有关您的硬件的信息。光是这个概念就可能充满问题。如果您的处理器不支持VT-x(假设是英特尔),VMware会利用二进制转换(Seehere)在内

c++ - c++ new 运算符可以在 Windows 上自动使用大页面吗?

假设我使用VisualStudio编写了一个C++程序,它使用new运算符分配内存。我想知道是否有一种方法可以让new自动使用大页面而不是标准的4KB页面(即,我的程序无需显式调用VirtualAlloc)。感谢您的宝贵时间。 最佳答案 您可以覆盖所有new和delete运算符。例如void*operatornew(size_tsize){returnmalloc(size);}voidoperatordelete(void*pointer){free(pointer);}此外,您应该覆盖此运算符的所有变体:http://www.c

python 3.3 : Unable to load an image using Pygame if game folder is not in C drive

有没有一种方法可以使用“pygame.image.load”在Pygame中传递参数,而源文件夹不必位于C驱动器中,或者脚本和图像必须位于C驱动器中?我已经尝试了很多不同的事情,并且花了这个周末的大部分时间来弄清楚。我搜索了其他stackoverflow问答,但一无所获。我试过用“os.path.join”、“os.path.normpath”之类的,还是没弄明白。代码如下:importos,pygameload_image=pygame.image.load(os.path.join('\\test','energy.png'))只要“test”文件夹位于C:\,它就可以正常工作,但

windows - 谷歌云控制台 : cannot login to new WIndows VM instance

我正在使用GoogleCloudConsole创建一个新的Windows虚拟机。我已经尝试过Server2008和2012。无论哪种情况,我都无法在虚拟机启动后登录,因为它说我的凭据不正确。我读过这篇文章:https://cloud.google.com/compute/docs/operating-systems/windows#understand_auth但是,我似乎不太清楚这是如何工作的。之前我只是在创建新实例过程中简单复制了密码,用户名与GC项目ID名称相同。这次我尝试使用RDP的名称方法(projectID名称+密码),但无法登录。然后我尝试了我自己的用户名+复制的密码,但

c# - 无法使用 `new` 关键字从函数修改对象

这个问题在这里已经有了答案:C#stringreferencetype?(11个答案)关闭5年前。我正在尝试执行以下代码,但不明白为什么行person.Name="anton";不起作用?该程序的输出是“colin”。classPerson{publicstringName;}classMainClass{publicstaticvoidMyMethod(Personperson){person.Name="colin";person=newPerson();person.Name="anton";}publicstaticvoidMain(){Personperson=newPers

c++ - 在Windows中初始化静态全局变量时new返回NULL?

我正在努力将rLog与我们的代码库集成,我注意到Windows上存在一个在Linux上没有的问题。在头文件中,我有一个静态变量,它给了我一个“详细”的日志记录channel(基本上是从调试开始的),定义如下:staticRLogChannel*rlog_verbose=DEF_CHANNEL("verbose",Log_Debug);这在Linux上没有问题,但在Windows上,应用程序一启动我就会收到错误消息。我已经在rLog库中追踪到这一行:RLogChannel*rlog::GetComponentChannel(constchar*component,constchar*pa

c# - Win32 浏览文件夹对话框 : wrong folder returned when user creates a new folder

我注意到浏览文件夹对话框中似乎有一个错误:打开带有“新建文件夹”按钮的新样​​式浏览文件夹对话框。(例如.NETFramework中的FolderBrowserDialog类,或Win32C++中的SHBrowseForFolder)。单击“创建新文件夹”按钮创建一个新文件夹。为新文件夹键入一个名称。输入完新文件夹名称后,请勿按Enter键或单击任何内容来停止编辑。当光标仍在闪烁/编辑框仍处于事件状态时,单击“确定”按钮。您必须非常快速地单击“确定”按钮。对话框不会返回文件夹的新名称给程序,而是返回“新文件夹”目录。例如,C:\NewFolder而不是用户输入的内容,例如C:\MyAp