Articles of 缓冲区

如何在vim的ex模式下从缓冲区中粘贴?

我在从文件复制某些文本,然后将其复制到一个新的拆分窗口有问题。 3yy |新| P 在命令模式下工作 当我按下时 复制工作后在分割窗口中input“p”

Linux UDP接收缓冲区的最大大小

Linux UDP接收缓冲区的最大大小是多less? 我认为这只受可用内存的限制,但是当我设置时 5GB的rmem_max: echo 5000000000 > /proc/sys/net/core/rmem_max 和4GB的实际套接字缓冲区(在Erlang): gen_udp:listen(Port, [{recbuf, 4000000000}]) 当我测量缓冲区利用率时,它显示: # netstat -u6anp | grep 5050 udp6 1409995136 0 :::5050 :::* 13483/beam.smp 我不能超过这个1.4GB。 对于较小的缓冲区大小,例如500MB,实际的缓冲区大小与configuration的值相匹配。 我的系统是Debian 6.0,机器有50GB RAM可用。

如何parsing通过/ proc文件传递给内核模块的大量数据?

编辑:我已经findseq_file ,可以轻松地从内核写入大量的数据到用户空间。 我正在寻找的是相反的; 一个API,便于从用户空间读取大量数据(多个页面)。 编辑2 :我正在执行一个<stdio.h>的端口作为内核模块,能够打开类似于FILE的/proc (以及后来的其他虚拟文件系统),并处理类似于<stdio.h>input和输出<stdio.h> 。 你可以在这里find项目。 我发现很多关于内核如何将大量数据写入/ proc(用于用户空间程序)的问题,但是却没有其他办法。 让我详细说明一下: 这个问题基本上是关于input被标记的algorithm(例如int或者int和string的混合等), 假设数据可能在多个缓冲区之间被破坏 。 例如,想象下面的数据被发送到内核模块: 12345678 81234567 78123456 67812345 5678 1234 45678123 3456 7812 23456781 为了这个例子,我们假设Linux提供/ proc处理程序的页面大小是20个字节(相对于真实的4KB)。 从/ proc(在内核模块中)读取数据的函数会看到这样的数据: call 1: "12345678 81234567 78" call 2: "123456 67812345 5678" call 3: " 1234 45678123 3456 " call 4: "7812 23456781" 正如你所看到的,当第一次调用78时,它不应该被处理,直到下一个帧才能决定78是一个整数还是一个帧之间的一个剪切。 现在我发现seq_file显然只是在内核想要写数据给用户而不是读 (或者可能是HOWTO被写成可怕的)的时候。 我做了什么 […]

Linux上文件的默认缓冲区大小

该文档指出,缓冲的默认值是: If omitted, the system default is used 。 我目前在Red Hat Linux 6上,但是我无法弄清楚为系统设置的默认缓冲。 任何人都可以请指导我如何确定一个系统的缓冲?

在Linux中指定运行时的UDP接收缓冲区大小

在Linux中,可以使用以下命令为networking数据包指定系统的默认接收缓冲区大小,比如UDP: sysctl -w net.core.rmem_max=<value> sysctl -w net.core.rmem_default=<value> 但是我想知道,是否有可能通过在运行时指定每个UDP套接字的接收缓冲区大小来使应用程序(比如说c )覆盖系统的默认值?

在Windows屏幕上渲染缓冲区

我正在寻找一种方法来渲染一个字符缓冲区的窗口的内容区域。 这只是伪造的,但意在展示我真正想要做的事情: char buffer[300][200][3]; // 300px x 200px x RGB bytes // … render stuff into buffer FancyWindowsFunctionToRenderBufferOnWindow(my_hwnd, buffer, 300, 200, offset_x, offset_y); 有没有办法做类似的事情?

C Windows缓冲区大小

在Windows让我说我使用recv函数从套接字接收数据。 我很好奇最佳缓冲区有多大? 我可以使它成为1024字节,或者我可以使它成为51200字节或更大。 我想知道哪一个会更好的performance。 这不仅适用于recv函数,让我说读一个大的文本文件,我想要一个非常大的缓冲区,或更小的缓冲区?

GetCurrentDirectory缓冲区不会返回正确的值

我有GetCurrentDirectory()的问题,我真的不明白为什么。 我不明白的是,它适用于XP,但不适用于七(或至less在我的电脑上)。 有我的代码: char dir_name[1024]; // as a global variable int get_files() { // … DWORD dwRet; dwRet = GetCurrentDirectory(MAX_PATH, dir_name); printf("%s\n",dir_name); printf("%d\n",dwRet); //… } 此代码将返回: printf("%s\n",dir_name); – > return "c" printf("%d\n",dwRet); – > 42 (这是应该返回的string的正确长度) 我不明白为什么dir_name只取值“c”。

如何以编程方式configurationWindows中的串行FIFO接收和传输缓冲区?

从Windows的设备pipe理器中,可以为高级设置中的COM端口configuration串行端口的接收缓冲区和发送FIFO缓冲区大小: 我想以编程方式为COM端口configurationTX和RX FIFO缓冲区的值。 理想的方法是在LabVIEW或甚至通过.NET /命令行进行,因为两者都可以很容易地从LabVIEW接口。 编辑:只是为了澄清这是关于16550兼容的UART FIFO缓冲区,而不是像VISA I / O缓冲区等软件缓冲区。

是否有附加到标准输出的缓冲区大小?

我试图find一些有关Windows上stdout的数据限制的信息。 我似乎无法findMSDN上的信息。 有多less数据可以写入标准输出有限制? 如果是这样,如果达到限制,会发生什么? 数据丢失了吗? 如果stdout被redirect(例如,通过从.Net启动进程并使用ProcessStartInfo.RedirectStandardOutput属性),那么对于可以写入多less数据有什么影响? 当我从调用过程的stdoutstream中读取时,是否会影响限制? 这些限制是否与命名pipe道有关?