草庐IT

new_text

全部标签

c++ - Visual Studio 2008,错误 c2039 : 'set_new_handler' : is not a member of 'std'

所以前几天我去编译我正在处理的VC++项目,突然间我几乎所有的文件都出现错误:new.h:errorC2039:'set_new_handler':isnotamemberof'stdnew.h:errorC2039:'set_new_handelr':symbolcannotbeusedinausing-declaration“new.h”和“set_new_handler”没有在我的任何文件中使用,所以我不知道这些错误是如何或为什么突然出现的,因为它们与windows/VS库文件有关。谁知道我可以做些什么来清除这个错误并重新编译我的代码?更新在检查编译时包含的文件后,有些文件包含,

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++ - 在 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,

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

c++ - Sublime Text 启动单独的命令窗口(C/C++)

我正在尝试执行ProgramminginCbyStephenG.Kochan中的所有程序作为练习,让自己熟悉C(在Windows8机器上)的一些更精细的细节(我没有去学校学习计算机科学)。很多书都是简单的程序,我想输入程序SublimeText(与我一直在使用openFrameworks的Code::Blocks相对)。有没有一种简单的方法可以在编译后为程序启动单独的命令窗口。这有点hacky,但我更改了构建的“运行”版本以启动已编译的程序"cmd":["${file_base_name}.exe"]但显然,SublimeText文档说GUI'saresuppressed.我想做的是启

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名称+密码),但无法登录。然后我尝试了我自己的用户名+复制的密码,但

windows - 批处理 : delete line feed from end of text file using filepaths

这个问题与这个问题相关:Batch:deletelinefeedfromendoftextfile?所以我有一个包含一些信息的txt文件,我想删除最后一行LFCR(换行,回车)字符。我需要使用变量和文件名作为参数(%1)指出源文件路径和目标文件路径。批号@echooffset@srcfile="D:\AgrCC\AgrTest\ReportResults\%1"set@dstfile="D:\AgrCC\AgrTest\DataExport\%1"setlocalDisableDelayedExpansionset"firstLineReady="(for/F"eol=$delims=

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

linux - 如何使查找。 -名称 "*.txt"| xargs grep "text"使用带空格的文件名

find.-name"*.txt"|xargsgrep"text"文件名有空格时失败如何使它与带空格的文件名一起工作 最佳答案 试试这个:find.-name"*.txt"-print0|xargs-0grep"text" 关于linux-如何使查找。-名称"*.txt"|xargsgrep"text"使用带空格的文件名,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/562503

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