草庐IT

new_variable

全部标签

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 - 如果请求 undefined variable ,Matlab 会挂起

如果我打开带有清晰工作区的Matlab并输入a在命令窗口中返回变量a,即使它不存在,然后Matlab会“忙”大约20秒才告诉我变量未定义。期间我不能用ctrl+C中断进程。如果我输入tic;a;toc然后错误立即出现。如果我输入a在工作空间为空的新脚本中,错误也会立即出现。然而,在一些较大的脚本中,Matlab会在给出错误之前挂起,就像从命令窗口请求变量时一样。我认为这可能是许可问题,但我确认license.dat已正确放置在许可文件夹中。该问题存在于Matlab2017b和2018a中。我正在运行64位Windows10企业版1709。我在同一系统的Windows8上没有遇到此问题。

windows - 尝试从 Hudson 启动 cywin shell 时出现 "Too many environment variables"

我正在尝试在cygwin中的WindowsXPHudson从服务器上执行脚本。这是在Hudson中配置的shell命令:#!C:\cygwin\bin\bash.exeecho"hello"在Windows机器上启动cygwin似乎有问题,我收到了这个错误:2[main]bash2692C:\cygwin\bin\bash.exe:***fatalerror-C:\cygwin\bin\bash.exe:***internalerrorreadingthewindowsenvironment-toomanyenvironmentvariables?那么有没有其他人遇到过这种情况,以及关

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防火墙,但

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(

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

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

windows - 批处理文件: List Directory & File names to individual variables and display as selection menu

我在许多不同的Windows机器上使用RDP,有时必须将RDP合并为一个,然后从那里rdp转移到另一个。我想知道是否可以创建一个批处理文件,该文件可以读取设置路径中所有目录的名称,然后将它们显示为带编号的变量(如菜单)。输入选择后,它将对所选目录中的所有.rdp文件执行相同的操作。下面是一个示例,说明如何为每个文件手动进行硬编码...但是我需要一些可以适应于将新的rdp文件拖放到目录中的方法,而不必每次都在批处理文件中手动添加它,如数字网站/台数和名称可能会定期更改。:siteECHOLocationListECHO.ECHO1NSWECHO2QLDECHO.SET/psite=Ent

c++ - 使用 CREATE_NEW_CONSOLE 创建进程并保持控制台窗口打开

我有一个可用的命令行应用程序,它使用WindowsAPI在新的控制台窗口中创建子进程。我正在使用CREATE_NEW_CONSOLE标志,但我需要一种方法来防止新打开的窗口在新进程退出时关闭。这是现有的代码:STARTUPINFOsi;LPCTSTRlpAppName="\\\\fs\\storage\\QA\\Mason\\psexec\\PSExec.exe";stringlpstr="\\\\fs\\storage\\QA\\Mason\\psexec\\PSExec.exe\\\\"+target+"/accepteula-uuser-ppass-s-realtime\\\\f