问题标签 [buffer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6942 浏览

c - 你如何写入缓冲区然后写入文件

我正在尝试从 matlab 中写入一些 STL 数据,我正在尝试通过编写 MEX 文件(用 C 编写的 matlab DLL)来做到这一点目前我有一个循环,只是通过我的数据写出 stl 语法与花车。

...

...

我想在 MEX 文件中执行此操作的主要原因是因为它编译后速度更快。我正在阅读一本 C++ 书,“Sams Teach Yourself C++ in One our day”,在第 645 页中,他们谈到了使用缓冲区来加快写入磁盘的速度。一旦缓冲区填满,写入数据,刷新它,然后再做一次。他们并没有真正展示任何关于如何做到这一点的代码,这是使用 C++ 的流。

我将如何在 C 中处理这个问题?我是否只需制作一个固定大小的 char* 缓冲区,然后以某种方式检查它何时已满并使用 fwrite() 将其写入文件,刷新它,重新开始?

0 投票
2 回答
1425 浏览

c# - 继承流;在 Read() 中缓冲

我继承了 Stream 类,其中我不知道如何正确实现 Read() 函数,所以我最终不会有很多嵌套的 if 和难以调试的代码。关键是从该流的源读取返回恒定大小的缓冲区(例如不可更改),但 Read() 函数接受不同的缓冲区大小。我虽然想添加 BufferedStream,但我认为这是个坏主意。感谢帮助!

0 投票
5 回答
2501 浏览

c# - 一个大字节缓冲区还是几个小的缓冲区?

我正在学习 C# 异步套接字编程,并且我了解到在某种池中重用字节缓冲区是一个好主意,然后在从套接字接收数据时根据需要检查一个。

但是,我看到了两种不同的字节数组池方法:一种使用简单的队列系统,然后根据需要从队列中添加/删除它们。如果请求了一个并且队列中没有剩余,则创建一个新的字节数组。

我见过的另一种方法对整个程序使用一个大字节数组。队列的想法仍然适用,但它是一个整数队列,它确定要使用的字节数组的切片(偏移量)。如果请求了一个并且队列中没有剩余,则必须调整数组的大小。

对于高度可扩展的服务器,哪一个是更好的解决方案?我的直觉是只使用许多字节数组会更便宜,因为我想根据需要调整数组的大小(即使我们以大块的形式分配它)会非常昂贵,尤其是当它变大时。使用多个数组似乎也更直观——使用一个我没有想到的大型数组有什么好处吗?

0 投票
5 回答
1482 浏览

emacs - ido-switch-buffer 和 bury-buffer

我最近开始使用 ido-mode,总的来说,它非常好。但有一件事似乎特别坏,我想知道是否有一个设置(ha)埋在那里来修复它。

ido-switch-buffer 似乎并不关心隐藏的缓冲区。也就是说,如果我使用 bury-buffer,然后使用 ido-switch-buffer,第一个选择通常是我刚刚埋的那个。

有没有简单的方法解决这个问题?掩埋缓冲区的全部意义在于我不想很快再次看到它。

0 投票
5 回答
227 浏览

bash - 在服务器上打开另一个外壳?

当我通过 ssh 在我的服务器上时,如何打开另一个终端?

我不想输入两次密码来为我的服务器获取另一个终端。

也许,Bash 具有与 Vim 类似的缓冲区。

0 投票
8 回答
99579 浏览

buffer - 缓冲区是什么意思?

我到处都能看到“BUFFER”这个词,但我无法理解它到底是什么。

  1. 有人可以用外行的语言解释什么是缓冲区吗?
  2. 什么时候使用?
  3. 它是如何使用的?
0 投票
14 回答
28276 浏览

c++ - 字节缓冲区应该是有符号还是无符号字符缓冲区?

字节缓冲区应该是有符号字符还是无符号字符,还是只是一个字符缓冲区?C和C++之间有什么区别吗?

谢谢。

0 投票
3 回答
2538 浏览

printf - cout 和 printf 的缓冲区和输出序列

我知道今天 cout 和 printf 有缓冲区,据说缓冲区有点像堆栈,从右到左获取 cout 和 printf 的输出,然后从上到下将它们输出(到控制台或文件)。像这样,

然后我在下面写一个代码,

VS2005下,输出为

在 g++( (GCC) 3.4.2 (mingw-special)) 下,输出为,

看起来缓冲区就像一个堆栈。但是,我今天阅读了C++ Primer Plus,据说 cout 从左到右工作,每次返回一个对象(cout),所以“这就是让您通过插入连接输出的功能”。但是从左到右的方式无法解释 cout< 输出 9 8 7 现在我对 cout 的缓冲区如何工作感到困惑,有人可以帮助我吗?

0 投票
4 回答
65866 浏览

java - java中未知长度的字节数组

我在 java 中构造一个字节数组,但我不知道数组会有多长。

我想要一些像 Java 的 StringBuffer 这样的工具,你可以调用 .append(byte b) 或 .append(byte[] buf) 并让它缓冲我所有的字节,并在我完成后返回给我一个字节数组。是否有一个类可以像 StringBuffer 一样为字节做字符串?它看起来不像 ByteBuffer 类是我正在寻找的。

有人有好的解决方案吗?

0 投票
5 回答
5677 浏览

c++ - cout 的缓冲区是如何工作的?

我知道cout几天前有缓冲区,当我google它时,据说缓冲区有点像堆栈,从右到左获取cout和printf的输出,然后将它们输出(到控制台或文件) 从上到下。像这样,

然后我在下面写一个代码,

VS2005下,输出为

看来stack的方式是对的~ 不过昨天看了C++ Primer Plus,据说cout是从左到右的,每次都返回一个object(cout),所以“这就是让你拼接输出的特性通过使用插入”。但是从左到右的方式不能解释 cout<

然后Alnitak告诉我,“<< 运算符实际上是 ostream& operator<<(ostream& os, int),所以另一种写法是: operator<< ( operator<< ( operator<< ( cout, a ), b ), C )”,

如果最正确的论点首先被评估,它可以得到一些解释。

现在我对 cout 的缓冲区如何工作感到困惑,有人可以帮助我吗?