Linux中的C 流界面
C++ Stream interface in Linux
我在C 中有一个程序,该程序运行了这样的循环,使用我无法访问的专有驱动程序从视频设备中抓住帧。
while(true) {
mybuf = getNextFrame(); // blocks
}
我想使用其他编程语言构建一些逻辑,因此我正在考虑使用以下界面。(我只需要Linux支持)我当时正在考虑在某个地方放一个文件,例如: /my/video/device
每当我在上面打电话给read()
时,它都会给我当前的帧。另外,如果我再次致电read(),我希望它阻止直到下一帧可用并为我返回。另外,如果我不打开()一段时间,我不希望介于两者之间的框架中。
最好的方法是什么?我尝试使用Fuse实现文件系统,但是如果它是常规文件,它试图在文件中寻找,并且只能读取到我为文件指定的大小。然后,我制作了一个角色设备,但它永远不会称我的read()
功能,而是说拒绝了...
我正在考虑尝试Cuse或类似的东西。我是否使事情复杂化?我只需要能够与不断来自我的C 循环的帧流一起工作,但是我想用另一种语言(例如Python或Go)来解析它们。我也不想将我的C 代码的汇编与GO或Python混合,我希望两者完全分开。我认为两者之间拥有某种文件API会使事情变得更容易。处理此问题的好方法是什么?
我将使用名为管道编写程序。要记住的一件事是,如果在写入中间的接收端断开连接,服务器将收到一个sigpipe信号,除非处理或阻止该服务器的服务器终止。
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- .cpp和.h文件中的模板专用化声明
- 反向给定链表中的K节点
- 正在查找文档以获得PS4平台的C++中的设备信息
- enum是C++中的宏变量还是整数变量
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 将字符串存储在c++中的稳定内存中
- 文本文件中的单词链表
- 递归函数计算序列中的平方和(并输出过程)
- 如何从C++中的依赖类型中获得它所依赖的类型
- 为什么C++升压库中的累加器具有类似功能的界面?
- 如何将C 中的后端写入与TCL/TCK用户界面连接
- Linux中的C 流界面
- 如何在崇高的文本 2 界面中创建 c++ 的标头
- Swig 界面中的类型映射错误
- C++中的设计问题:以界面为中心的设计中的代码重用
- 在非基于C/C++的图形界面中需要指导
- 用户界面 - "int main" C++ Windows 模板中的函数在哪里?
- C++中的Android用户界面
- XP SP3中的用户界面权限隔离