![]() |
1
4
如果使用
您可以尝试几种技巧,但您确实应该将呼叫转换为
|
![]() |
2
1
在*nix系统上,文件描述符上的stdio层和文件描述符对进程是全局的。因此,没有办法不改变就做你想做的事 某物 . 最好的办法是使用fprintf()重写代码。因为这涉及到在arglist中添加一个参数,所以我甚至不确定您是否能够使用预处理器技巧来实现您的目标而不修改实际的代码。 也许你可以澄清你不能创建新流程的原因?从这个角度来说,这个问题可能是可以解决的。 |
![]() |
3
1
如果您有线程本地存储,可以执行以下操作:
同样,对于您打算使用的所有其他stdio函数。当然,最好不要尝试重新定义相同的名称,而是在源文件上执行搜索和替换以使用备用名称。
btw即使没有编译器的线程本地存储扩展,也可以使用返回右键的函数调用
|
![]() |
4
0
如果您坚持使用“printf()”之类的标准I/O函数,那么我能想到的唯一方法就是让标准I/O库使用线程本地数据结构支持特定于线程的I/O(类似于“errno”是调用返回线程本地错误号的函数的宏)。我不知道有什么标准I/O实现可以做到这一点。 |
![]() |
sk123 · Shell脚本-如何在循环中显示变量名及其值 1 年前 |
|
sai · unix中使用python进行数据重组 1 年前 |
![]() |
FangQ · 如何使用jq打印由制表符“\t”分隔的JSON数组元素 1 年前 |
|
ROHAN · 我想显示包含一个括号的行,包括它的开头或结尾 1 年前 |
![]() |
Geomicro · 删除模式sed之间的逗号 1 年前 |