草庐IT

timer_new

全部标签

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#/.NET Timers 和 Win32 Sleep 函数都不准确

对于下面的代码:实际间隔始终是1014.01毫秒而不是1000毫秒...我也尝试过在C++中使用System.Windows.Forms.Timer、System.Threading.Timer和WinAPISleep(int)函数,但额外增加的14.01ms始终存在。Windows8的系统时钟是准确的,但.NET计时器和WindowsAPI的Sleep(int)函数都不准确。publicpartialclassForm1:Form{privatelongticks;publicForm1(){InitializeComponent();}privatevoidForm1_Load(o

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

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

windows - 赢bat文件: How to get the result of FIND into a new variable?

pdftk工具“dump_data”功能可用于传递有关pdf的元信息,包括页数。以下命令...pdftktest.pdfdump_data|find"NumberOfPages"...输出完整的数据转储行,例如:"Numberofpages:32"如何将计数值(在上述情况下为32)放入新变量中以便在bat文件中进一步处理? 最佳答案 如果该行的格式是固定的并且与您显示的格式相匹配,您可以尝试这样的操作:@ECHOOFF>testfileECHONumberofpages:32FOR/F"delims=:tokens=2"%%AIN(

c# - 使用 System.Timers.Timer 打开一个新表单有多糟糕?

我的c#WinForm应用程序使用System.Timers.Timer的Elapsed事件打开一个新窗体。有人向我指出(在较早的question我在另一个主题上发帖)这是个坏主意;有人建议我使用System.Windows.Forms.Timer。我已根据此建议更改了我的代码,并且我的应用程序似乎可以正常工作;但是,我在WinForms学习曲线上的水平仍然很低,我很乐意收到关于我是否正确更改了我的代码的反馈。(我很担心,因为旧方法——坏方法——似乎也有效。)我有两种形式:frmTimer和frmUser。每个表单驻留在WinForms解决方案中的一个单独项目中。FrmTimer使用命