草庐IT

stdin-out

全部标签

windows - 在 stdin 在 Windows 上阻塞时退出应用程序

我有一个应用程序,它在线程中使用getline()从标准输入读取数据。我想从主线程关闭应用程序,而getline仍然阻塞另一个线程。如何实现?我不想强制用户必须按ctrl-Z来关闭标准输入和应用程序。到目前为止,我已经尝试在Windows8.164位v120平台工具集上使用我的编译器设置(RuntimeLibrary=/MT):freopenstdin,但它被内部锁阻止销毁调用abort()的线程将Eof、行尾返回到std::cin,这也被阻塞了*更新*detach()不起作用,exit()被锁阻塞winapiTerminatThread()调用abort()winapiCloseHa

windows - __deref_out_opt 和 __deref_opt_out 有什么区别?

下面的SAL有什么区别?注释?voidfoo(__deref_out_optPSTR*bar);voidfoo(__deref_opt_outPSTR*bar); 最佳答案 PSTR*out参数意味着调用者传入一个缓冲区,该缓冲区接收指向字符串的指针。在__deref_out_opt中,字符串是可选的(该函数将NULL放入调用者提供的缓冲区中)。在__deref_opt_out中,缓冲区是可选的(调用者传递NULL表示对输出值不感兴趣)。据推测,可以将这些概念结合起来,应该有一个__deref_opt_out_opt修饰符。

windows - Windows下的git svn clone large repo : out of memory - not a large file issue

我正在尝试使用gitsvn克隆一个大型svn存储库。repo有100000次修订。大小约为9GB(原始文件夹)。repo协议(protocol)中的最大文件是300MB。代码库中的分支结构一团糟。大量错误和缺失的merge信息,没有标准布局。我试图获取有和没有分支的最新修订。没有分支的命令如下所示:gitsvncloneurl_to_trunk_in_repo-r100000:HEAD--username=svn_userHEAD当前位于101037。该进程运行了一段时间(几小时)并失败,如下所示:Outofmemoryduringrequestfor29040bytes,totals

windows - VS代码: moving files out of appdata directory

我在公司的笔记本电脑上,应用数据的存储空间有限。最初的谷歌显示实际上没有任何移动目录的设置。我正在考虑简单地将相关目录即\AppData\Roaming\Code复制到其他地方,然后创建一个具有相同名称的硬符号链接(symboliclink)(连接),然后将其指向相同的位置即在命令行中:mklink/JC:\Users\me\AppData\Roaming\CodeC:\myFolder\Code我试着移动整个appdata文件夹(右键单击roaming/local/locallow,然后单击属性,然后单击位置选项卡,然后更改目录)。我设法只移动了一半的文件。它似乎一直有效,直到我重新

windows - COM 服务器是否必须为 [out] 参数调用 SysFreeString()?

我们有如下界面:[object,uuid("uuidhere"),dual]interfaceIInterface:IDispatch{[id(1),propget]HRESULTCoolProperty([out,retval]BSTR*result);}现在有一个小问题。一方面,参数是“out”,因此任何值都可以作为输入传递,参数只有在成功返回后才会生效。另一方面,有thisMSDNarticle它从许多页面链接到,这些页面基本上说(最后一段)如果任何函数被传递BSTR*它必须在分配新字符串之前释放字符串。太可怕了。如果那篇文章是正确的,则意味着所有调用者都必须确保传递有效的BST

C++/Windows : How to report an out-of-memory exception (bad_alloc)?

我目前正在为WindowsMSVC++(9.0)应用开发基于异常的错误报告系统(即异常结构和类型/继承、调用堆栈、错误报告和日志记录等)。我现在的问题是:如何正确报告和记录内存不足错误?发生此错误时,例如作为new操作抛出的bad_alloc,可能有许多“功能”不可用,主要是关于进一步的内存分配。通常,如果在库中抛出异常,我会将异常传递给应用程序,然后使用消息框和错误日志文件来报告和记录它。另一种方法(主要用于服务)是使用Windows事件日志。我遇到的主要问题是组装一条错误消息。为了提供一些错误信息,我想定义一条静态错误消息(可能是字符串文字,最好是消息文件中的条目,然后使用Form

windows - 发布时出现异常,异常信息[Exec timed out or was interrupted after .. ms]

我需要创建一个Jenkins作业,通过SSH在另一台服务器上运行PowerShell脚本。我正在使用“通过SSH发送文件或执行命令”选项来执行必要的操作。“执行命令”字段的值为“cmd/cXCopy.bat”,其中XCopy.bat(批处理文件存在于另一台服务器-Windows服务器2008R2-安装了我的SSH的位置)依次运行PowerShell。工作只是将文件夹及其内容复制到另一个位置。当我构建作业时,复制是按需要完成的。但是,作业在不稳定构建中终止。这是日志:SSH:Connectingfromhost[USVAUJNKW001]SSH:Connectingwithconfigu

c# - .NET 窗体 : Can the runtime dispose a form's handle out from under me?

当前申报SendMessage在PInvoke.net是:[DllImport("user32.dll",CharSet=CharSet.Auto,SetLastError=false)]staticexternIntPtrSendMessage(HandleRefhWnd,uintMsg,IntPtrwParam,IntPtrlParam);注意:hWnd不再是IntPtr,已被替换为HandleRef。给出了对更改的非常宽松的解释:Youcanreplace"hWnd"with"IntPtr"insteadof"HandleRef".However,youaretakingaris

Laravel-echo-server , net::ERR_CONNECTION_TIMED_OUT

我只在使用laravel-echo-server、redis、ssl的实时服务器上遇到一个奇怪的问题。错误:获取https://dev.my_domain.com:6001/socket.io/?EIO=3&transport=polling&t=Ml1g-Fqnet::ERR_CONNECTION_TIMED_OUT下面你可以找到我的配置:laravel-echo-server.json{"authHost":"https://dev.my_domain.com","authEndpoint":"/broadcasting/auth","clients":[],"database":

Spring Redis 连接失败套接字超时 : read timed out

在访问页面的过程中会突然读取超时错误,貌似是访问不足导致的。我没有专门为Redis做设备,参数全部默认。以下为SpringBoot配置文件:##Redisredis:host:127.0.0.1password:eee!1234database:1timeout:5pool:min-idle:1max-active:100cache:type:redissession:store-type:redistimeout:5redis.namespace:application这是错误日志:org.springframework.data.redis.RedisConnectionFailu