小编Man*_*nny的帖子

createProcess函数的DETACH_PROCESS和CREATE_NO_WINDOW进程创建标志之间有什么区别

我一直试图理解这两个进程创建标志之间的区别.在MSDN文档不明确的区别.

  • CREATE_NO_WINDOW是否导致进程具有控制台(标准输入/输出流已初始化)而不显示窗口而DETACH_PROCESS根本没有控制台?
  • 对孩子的孩子过程有什么影响?
  • 什么是行为矩阵,描述每个组合发生的事情(父有控制台,父有没有控制台)X(子可执行文件需要控制台(主),子可执行文件不需要控制台(WinMain)).

windows operating-system system process

12
推荐指数
1
解决办法
4174
查看次数

使用文件作为两个进程之间通信的手段有哪些缺点?

我有遗留代码,出于性能原因需要改进.我的应用程序包含两个需要交换某些信息的可执行文件.在遗留代码中,一个exe写入文件(文件名作为参数传递给exe),第二个可执行文件首先检查这样的文件是否存在; 如果不存在则再次检查并在找到它时,继续读取文件的内容.这种方式在两个可执行文件之间传递信息.代码的结构方式,第二个可执行文件在第一次尝试时就成功了.

现在我必须清理这个代码,并想知道使用文件作为通信手段而不是像管道这样的进程间通信有什么缺点.打开和读取比管道更昂贵的文件?还有其他缺点吗?您认为性能下降有多重要.

遗留代码在Windows和Linux上运行.

operating-system systems-programming

5
推荐指数
1
解决办法
1760
查看次数

检测用户何时完成 GTK 窗口的移动/调整大小

我想检测用户何时完成重新调整大小或移动 GTK 窗口。基本上相当于Windows 中的WM_EXITSIZEMOVE

我已经查看了GTK 检测用户窗口调整大小,并且能够使用配置事件检测大小/位置更改;但是,由于我的其他代码是架构师,我想知道调整大小何时完成。几乎就像 ValueChanged 而不是 ValueChanging 事件。

我在想是否我能找出鼠标按钮是否被释放,然后尝试检测它是否是我得到的最后一个事件。但是对于 window 对象也找不到办法做到这一点。

c python gtk gdk pygobject

5
推荐指数
1
解决办法
2176
查看次数

从RTSP MJPEG流构造JPEG图像

我正在尝试从IP摄像机的RTSP MJPEG流构造JPEG图像。我正在使用CURL来获取RTSP数据,然后遵循JPEG压缩视频RFCRTP有效负载格式

我已经成功地形成了其中没有量化表的JPEG图像。但是,使用Q类型128时,我的算法无法正确组装JPEG图像。

我知道有像ffmpeg和gstreamer这样的库可以执行此解码,但是由于其他一些问题,我无法使用它们。我也看过其他帖子,我认为我正在正确解码流。但是在JPEG解压缩后,图像看起来像这样。背景图像看似正确,但是在图像上散布了不正确的水平带。

类型65和Q 128的JPEG损坏

这是我正在使用的代码片段:

    while(!firstPacketFound) {
        std::cout <<  "-----------RTP Packet: " << index++ << " starting at " << startOfRTPPacketIterator << "---------"<< endl;
        isFirstPacket = false; isLastPacket = false;
        // 0 - LibCurl header
        // 1 - channel identifier
        // 2, 3 - packet length
        uint16_T packet_length_msb = f[ startOfRTPPacketIterator+2];
        uint16_T packet_length_lsb = f[ startOfRTPPacketIterator+3];
        packet_length = packet_length_msb << 8 | packet_length_lsb;
        std::cout << "Packet Size: " << packet_length << endl;
        // 4 - …
Run Code Online (Sandbox Code Playgroud)

c curl mjpeg rtsp ip-camera

5
推荐指数
1
解决办法
2418
查看次数