小编PSk*_*cik的帖子

评估一段ex源代码

如果我有一个多行的 vimscript,例如,在剪贴板中,我如何评估它?

除了保存并获取保存的文件之外,还有其他方法吗?

vim

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

通过删除点链接和重复的斜线来规范化Unix文件路径

标准化Unix文件路径的一种好方法是什么(即,删除点链接和重复的斜杠)?我既不需要也不需要符号链接解析。

c c++ unix

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

C - 使用 fork() 创建 3 个子进程

我想用 fork() 创建 3 个子进程。这是我创建一个子进程的代码:

#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>

void main(){
    int pid = fork();
    if(pid < 0){
        /* was not successfully */
    }
    else if (pid > 0){
        /* Parent process */
    }
    else{
        /* Child process */
        for (int i = 0; i < 20; i++){
            printf("1");
            usleep(1000);
        }
        exit(0);
    }
}
Run Code Online (Sandbox Code Playgroud)

子进程应该打印 20 次数字 1,并在每次后休眠 1 毫秒。

我知道我不能只使用 fork() 3 次,因为那样我将得到 7 个子进程。但我怎样才能得到正好3呢?我怎样才能做到每个子进程都打印另一个数字?例如,第一个进程编号为 1,第二个进程编号为 2,第三个进程编号为 3。

父进程应该使用 waitpid() 来等待所有 3 个子进程。如果他们完成了,家长应该打印一条消息。但是这里如何使用waitpid呢?

c fork process waitpid

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

如何让 vim 将 $ 视为标识符字符?

我想让 vim (按 Ctrl+] 后)查找包含特殊字符(如$或 )的标签@。我可以使用:tag命令(例如,tag $some$symbol)来完成此操作,但它不适用于Ctrl+]. 如何配置 vim 将什么视为标识符?

vim

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

标准库实现中四个双下划线的原因

标准库(C 或 C++)实现是否存在任何技术原因(IMO 滥用),强调它们的做法(= 用两个下划线作为所有内容的前缀 + 添加尾部下划线以表示变量是成员变量)?

我明白了/.*__.*/并且 /_[A-Z].*/(<= regexes) 是由实现保留的。但这不是应该指编译器的实现而不是(标准)库吗?

标准库在选择内部名称方面不能像其他库一样吗?

c c++ libc libc++

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

标签 统计

c ×3

c++ ×2

vim ×2

fork ×1

libc ×1

libc++ ×1

process ×1

unix ×1

waitpid ×1