sogou/srpc

vs找不到unistd.h文件

swordsliver opened this issue · 5 comments

源代码如下
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int main()
{
pid_t pid;
fork();
pid = fork();
fork();
if (pid > 0)
printf("hello\n");
return 0;
}
在vs下报了两个错误
1.无法打开源文件“unistd.h”
2.未定义标识符pid_t
请问如何解决

你好。你是要编译Linux下的程序吗?

请问这个是srpc里的问题吗?如果只是一般的编程问题,帮你问了下GPT,供参考:

The unistd.h header file is a standard header file in the C library that provides access to the POSIX operating system API. It is not a part of the Visual Studio C++ library, so it is not included by default.

To use unistd.h in Visual Studio, you need to install a POSIX-compliant subsystem, such as the Windows Subsystem for Linux (WSL) or Cygwin. Once you have installed a POSIX-compliant subsystem, you can include unistd.h in your code by adding the appropriate include directive, as you have done in the selected code block.

As for pid_t, it is a data type defined in the sys/types.h header file, which is included by unistd.h. pid_t is used to represent process IDs in the POSIX operating system API. You can use pid_t in your code by including the appropriate header files, as shown in the following code block:

#include <sys/types.h>
#include <unistd.h>

int main() {
    pid_t pid;
    fork();
    pid = fork();
    fork();
    if (pid > 0)
        printf("hello\n");
    return 0;
}

你好。你是要编译Linux下的程序吗?

我用的是windows系统,就是不知道怎么运行这个程序

请问这个是srpc里的问题吗?如果只是一般的编程问题,帮你问了下GPT,供参考:

The unistd.h header file is a standard header file in the C library that provides access to the POSIX operating system API. It is not a part of the Visual Studio C++ library, so it is not included by default.

To use unistd.h in Visual Studio, you need to install a POSIX-compliant subsystem, such as the Windows Subsystem for Linux (WSL) or Cygwin. Once you have installed a POSIX-compliant subsystem, you can include unistd.h in your code by adding the appropriate include directive, as you have done in the selected code block.

As for pid_t, it is a data type defined in the sys/types.h header file, which is included by unistd.h. pid_t is used to represent process IDs in the POSIX operating system API. You can use pid_t in your code by including the appropriate header files, as shown in the following code block:

#include <sys/types.h>
#include <unistd.h>

int main() {
    pid_t pid;
    fork();
    pid = fork();
    fork();
    if (pid > 0)
        printf("hello\n");
    return 0;
}

虽然不知道有没有用,但是我先谢谢了

你问的是用我们项目时遇到的问题吗?