小编Joe*_*Joe的帖子

如何确定 Linux 串行端口上剩余的写入/输出缓冲区空间量?

您可以使用 ioctl 确定在 linux 下可以从串行端口读取多少数据。写入时是否可以确定串行端口剩余的缓冲区空间有多少?实际上,我想将一个数据块写入串行端口,仅当它可以一次性全部卸载时才成功,或者如果必须分块则失败。对端口的写入和读取是非阻塞的。我不希望这是 UARTs 缓冲区,而是 UARTs 缓冲区之前的内核内存缓冲区(我猜)。

c linux buffer ioctl serial-port

4
推荐指数
2
解决办法
3177
查看次数

如何在boost :: unique_lock <boost :: mutex>上try_lock

根据标题,如何在boost :: unique_lock上尝试try_lock?

我有这个代码:

void mySafeFunct()
{
    if(myMutex.try_lock() == false)
    {
        return -1;
    }

    // mutex ownership is automatically acquired

    // do stuff safely

    myMutex.unlock();
}
Run Code Online (Sandbox Code Playgroud)

现在我想使用unique_lock(也是一个作用域的互斥锁)而不是普通的boost :: mutex.我希望这可以避免来自函数体的所有unlock()调用.

c++ multithreading boost

4
推荐指数
2
解决办法
5204
查看次数

如果线程正在等待互斥锁,是否会捕获信号?

我在互斥锁上阻塞了一个线程.该应用程序还具有自定义信号处理程序,使用设置sigaction.如果接收捕获信号的线程在互斥锁上被阻塞,信号处理程序是否会被调用,或者它将被阻塞,直到互斥锁被释放?

c++ linux mutex signals pthreads

4
推荐指数
1
解决办法
323
查看次数

使用netcat和grep有条件地运行命令

我需要netcat来监听HTTP请求,并根据请求,我需要运行一个脚本.

到目前为止,我有这个;

netcat -lk 12345 | grep "Keep-Alive"
Run Code Online (Sandbox Code Playgroud)

所以每当netcat收到一个包含"keep-alive"的包时,我需要触发一个脚本.

它需要在crontab中运行...

谢谢你的帮助!

linux bash grep command netcat

2
推荐指数
1
解决办法
6593
查看次数

核心cpp指南中f(T*,int)接口与f(span <T>)接口的含义

核心cpp指南的第P3节在其执行部分下提供了以下模式:

f(T*,int)接口与f(span)接口

任何人都可以解释它对于想要了解现代C++的硬老C程序员意味着什么?

c++ cpp-core-guidelines

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

当我编译 .c 文件时,它总是创建名为“a”的 .exe 文件

我使用GCC编译器在CMD上编译并运行C程序。当我使用命令编译 C 程序时,gcc hello.c它会创建一个名为 file 的可执行文件a.exe,但当我使用 IDE 时,它使用与 .c 文件相同的名称hello.exe。是否可以在CMD上创建与.c文件名相同的.exe文件?

c gcc

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