草庐IT

new-page

全部标签

c++ - 如何(故意)使用 new 在 C++ 中导致程序崩溃

我正在尝试掌握C++内存管理的窍门,并尝试使用无限循环的新语句故意使我的程序崩溃。据我了解,这只会在内存堆上保留越来越多的空间。但是我的程序不会崩溃。在Windows任务管理器中监控它,它将使用大约6GB的内存,但随后下降到5GB,再次上升到6GB,等等。与此同时,我的硬盘很快就满了。我在分配了大约30GB后停止了测试,因为我不想对我的SSD造成太大的压力。现在,我有8GB的​​RAM,根据Windows设置,“虚拟内存大小”(我猜是交换空间,对吧?)约为1.5GB。然而,我能够分配的远不止于此。是什么决定了程序最终是否会崩溃?它使用了什么内存?谢谢!#includeusingname

c# - 来自 C# : why do I have to override new/delete? 的 mingw DLL

我正在尝试从Windows10上的C#调用最小的C函数。我使用mingw/g++将C代码编译成.dll事实证明,我必须定义opteratornew[]或使用VisualStudio编译.dll。否则我的C#程序会因以下错误而崩溃:程序“[14740]Test.exe”已退出,代码为-1073741819(0xc0000005)“访问冲突”。我真的很想了解这里究竟发生了什么,以及我如何在不覆盖所有新/删除运算符但仍然使用mingw的情况下解决这个问题。这是重现错误的最小示例,包括解决方法(如果定义了AddNewOperator,operatornew[]将被定义并且生成的.dll将正常工

windows - 在 certreq -new 策略 inf 文件中将 KeySpec 定义为 "both"

我正在使用certreq-new并且有一个inf格式的策略文件。我想将“KeySpec”参数设置为“both”,文档告诉我这是可能的。但它没有告诉我如何:TheKeySpecdeterminesifthekeycanbeusedforsignatures,forExchange(encryption),orforboth.而签名由“2”定义,加密(交换)由“1”设置。输入0会生成一个签名规范,输入3会告诉我它不知道“3”应该是什么。有人知道如何为两者定义KeySpec吗? 最佳答案 对于任何感兴趣的人,我已经弄明白了。KeySpec

windows - Mail::IMAPClient->new 在 Windows 中挂起

此Mail::IMAPClient->new()在Windows7中卡住:subconnectGMail{my$client=Mail::IMAPClient->new(Server=>'imap.gmail.com',Port=>993,Ssl=>1,User=>'whateverUser',Password=>'aG00dP455w0rd',Socket=>IO::Socket::SSL->new(SSL_verify_mode=>SSL_VERIFY_NONE))ordie"Cannotconnect($@)\n";return$client;}我尝试停用Windows防火墙,但

Windows 内存管理 : check if a page is in memory

在Windows中,有没有办法检查页面是在内存中还是在磁盘(交换空间)中?我想知道这一点的原因是,如果页面在磁盘中,则通过不访问该页面来避免导致页面错误。 最佳答案 据我所知,没有记录在案的方法可以在用户模式下完成此操作。也就是说,可以在内核模式下确定这一点,但这将涉及检查属于内存管理器的页表条目——这不是您在任何类型的生产代码中真正不想做的事情.您要解决的真正问题是什么? 关于Windows内存管理:checkifapageisinmemory,我们在StackOverflow上找到一

windows - 尝试使用 WinDbg : PEB is Paged Out, 分析转储文件不会加载符号

您好,我正在尝试使用WinDbg查看memory.dmp内核转储文件,以诊断崩溃。当我打开崩溃文件并获取符号时,我收到消息BugCheckA,{2,ff,4e,fffff801a42ebff2}CompressedPageDataReaderwarning:failedtoget_SM_PAGE_KEYsymbol.CompressedPageDataReaderwarning:failedtoget_SM_PAGE_KEYsymbol.Probablycausedby:ntkrnlmp.exe(nt!KxWaitForLockOwnerShipWithIrql+12)Followup

c - OpenSSL 1.0.2 和错误 "SSL_CTX_new:library has no ciphers"

我正在尝试编译并运行来自libest的示例(客户端简单)。为此,我在Windows上编译了OpenSSL,然后用它编译并链接了libest。问题是当我运行程序时,我得到了error:140A90A1:SSLroutines:SSL_CTX_new:libraryhasnociphers:查看调试器中的代码,我可以确认调用了OPENSSL_add_all_algorithms_noconf,以及:ERR_load_crypto_strings()ENGINE_load_builtin_engines();SSL_library_init();SSL_load_error_strings(

windows - GitHub Pages 的 Jekyll 在 Windows 上找不到 rouge

我刚刚在Windows上安装了Jekyll,我正在尝试让语法高亮显示与rouge一起使用。我在_config.yml上设置了highlighter:rouge。在文件_posts\2015-08-13-my-first-post.md中我得到:{%highlightjavascriptlinenos%}vars="JavaScriptsyntaxhighlighting";alert(s);{%endhighlight%}当我运行bundleexecjekyllserve时,它输出:C:\Users\Fred\Documents\Projects\GithubPage>bundleex

c++ - 何时使用 VirtualAlloc 与 new?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:What'sthedifferencesbetweenVirtualAllocandHeapAlloc?我想预分配一大块内存,比如1gb来实现内存池。VirtualAlloc使用4kb的页面大小进行分配。在这种情况下使用virtualalloc相对于new有什么优势?这种情况下不应使用new还是使用new而不是虚拟分配有任何缺点?

windows - R: 如何修复 plot() 上的永久 "Click or hit ENTER for next page"?

我使用的是Windows7x64和Rv2.14.2,以RevolutionR作为GUI。出于某种原因,每次我制作绘图时,控制台都会显示:Waitingtoconfirmpagechange......情节说明:ClickorhitENTERfornextpage我必须点击绘图中的某处才能让它完成绘图。我想知道我做错了什么,有什么方法可以在不重新安装R的情况下解决这个问题吗?更新1我试过:devAskNewPage(FALSE)options(device.ask.default=FALSE)grDevices::devAskNewPage(ask=FALSE)这是我的窗口列表:>dev