草庐IT

c++ - 缓冲区刷新: "\n"与 std::endl

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:C++:“std::endl”vs“\n”在AcceleratedC++中,提到了两件事:大多数系统都需要花费大量时间将字符写入输出设备。因此,C++将要写入的字符累积到缓冲区中,并等待缓冲区被刷新。可以刷新缓冲区的一种方法是,如果我们使用std::endl明确告诉它这样做。这让我想知道:显然,除了最大的输出之外,所有的好处都非常并且不明显,但是使用"\n"比使用std::endl,或者"\n"是否也刷新缓冲区?

c++ - UDP sendto() 和 recvfrom() 最大缓冲区大小

我知道我可以使用这些函数的默认最大缓冲区大小是65507(5535-IPv4header-UDPheader)。但是,有没有办法改变这种情况?我需要能够发送更大的缓冲区~66000字节。我尝试使用setsockopt()函数,但它似乎不起作用。谢谢! 最佳答案 没有。UDP仅提供数据报作为IP数据包的数据部分,IP数据包具有16位长度字段,因此将数据限制为2^16字节(包括header),或UDP数据部分为65507字节(假设没有ipv4选项),除了将它们分成几个数据包并自己处理重组等之外,没有办法用UDP处理更大的数据包。

c - 在 C 中获取 Windows 串行端口的输入缓冲区长度

是否有一个非阻塞函数可以返回当前串口在Windows中使用C的rx队列长度?我见过的所有示例都只是调用ReadFile,它会阻塞直到指定的超时,所以我想知道是否可以在读取之前检查缓冲区中是否有任何内容?例如我可以简单地为每个角色执行此操作:voidReadCharacter(char*theCharacter){DWORDnumBytesRead=0;while(numBytesRead==0){ReadFile(comPorthandle,theCharacter,sizeof(char),&numBytesRead,NULL);}}但是有没有可能有类似的东西intnumBytesR

windows - Emacs 创建缓冲区非常慢

在我的机器上,Emacs在创建缓冲区时会占用一个长文件:在打开文件或目录时,或者在启动M-xshell时。停顿是10-15秒,真的很烦人。当我打开大约150多个缓冲区时(其中大部分是我机器上的文件和目录;有大约5个cmd支持的shell缓冲区;没有远程文件),这个问题似乎出现了。我开启了global-auto-revert-mode,但即使关闭它问题仍然存在。我有这个东西,在StackOverflow的某个地方找到,在.emacs中,但它没有帮助:(setqw32-get-true-file-attributesnil)我的环境:Emacs23.2.1,Windows7。你对我可以尝试

c++ - exe 可以小于其最大的声明缓冲区吗?

我问的原因:#includeusingnamespacestd;intmain(){unsignedcharfile[512000];unsignedcharkey[512000];for(inti=0;i当我在Windows上使用cl.exe编译它时,我得到一个大小约为31kb的可执行文件。每个缓冲区本身都是500kb。这有什么意义?它的一部分会分配在堆上吗?如果我用数据初始化它们,那么大小是否正确? 最佳答案 在这种情况下,缓冲区将在程序的stackspace上分配。在运行时。无需将它们静态内置到exe文件中。

c++ - 阅读控制台缓冲区/输出 C++

我的问题很简单,但我似乎绝对找不到解决方案。我有一个专用的游戏服务器(JEDIACADEMYJAMPDED),它是一个控制台应用程序。它不断地写一些信息,我想以某种方式处理数据。如果我可以用外部读取它的输出,那就很容易了。问题:它不写入标准输出,因此不能用批处理文件进行管道传输,popen也不起作用。所以我想用WINAPI来做。我能够创建流程,但仍然无法读取输出。我试过这些:HowdoIcall::CreateProcessinc++tolaunchaWindowsexecutable?CreateProcessandCreatePipetoexecuteaprocessandretu

windows - 如何在Windows驱动程序中直接写入帧缓冲区

我正在编写可以直接将数据写入帧缓冲区的驱动程序,这样我就可以在屏幕上显示secret消息,而用户空间的应用程序无法获取它。下面是我尝试将值写入帧缓冲区的代码,但是在我将值写入帧缓冲区之后,我从帧缓冲区检索到的值都是0。我很疑惑,有谁知道原因吗?或者谁知道如何在屏幕上显示消息,而用户空间中的应用程序无法获取消息的内容?非常感谢!#defineFRAME_BUFFER_PHYSICAL_ADDRESS0xA0000#defineBUFFER_SIZE0x20000voidshowMessage(){inti;int*vAddr;PHYSICAL_ADDRESSpAddr;pAddr.Qua

windows - 如何确定 Windows Sockets 发送缓冲区是否为空?

我需要知道Windows套接字的发送缓冲区何时为空,即何时将其放入线路。SIO_FLUSH似乎除了杀死这个缓冲区的内容而不是等到TCP完成发送它之外什么都不做。我需要它的原因是因为在手头连接上的数据全部发送(或最接近)之前,我不能开始在单独的连接上发送数据。这似乎是一个非常奇怪的要求,散发着不良协议(protocol)的味道,但该协议(protocol)是HTTP,并且已经通过了它的步伐:)。我需要实时将大量数据推送到浏览器,而网络延迟时间使我无法在数据进入时请求更多数据,因为这会使请求变慢,而不是仅仅基于带宽。理想的解决方案是接收1个实时数据流的无休止请求,但如前所述,我必须使用不支

c# - 为什么在重定向输出时调整控制台缓冲区会引发无效句柄异常?

在将输出重定向到文件时,在C#控制台应用程序中调整Console.BufferWidth会引发异常。让我们调用示例test1.exe:staticvoidMain(string[]args){Console.BufferWidth=240;Console.WriteLine("output1\noutput2");}标准输出没问题:test1.exeoutput1output2重定向到文件引发异常:test1.exe>file.txtUnhandledException:System.IO.IOException:Thehandleisinvalid.atSystem.IO.__Err

windows - 如何移动到某个选项卡上某个窗口中存在的非隐藏缓冲区?

我在Vim中工作,在各种选项卡的各种窗口中有很多打开的缓冲区。我知道将现有缓冲区之一加载到当前窗口很简单。但是,我的一些大文件缓冲区使用折叠表达式,在将它们加载到新窗口时会导致几秒钟的延迟。另一方面,如果它们已经在标签页的窗口中打开,我只需要跳转到那个标签页和那个窗口。我知道没有直接执行此操作的命令。或者有吗?要找到具有所需缓冲区的窗口,我可以编写一个函数来执行此操作:对于每个标签针对每个选项卡上的每个窗口检查每个窗口是否加载了我想要的缓冲区将光标移动到找到的窗口,如果没有找到,则在新选项卡的窗口中打开缓冲区有人写过吗?还是我错过了获得我想要的东西的更简单方法?更新:'switchbu