linux

linux c++能否调用系统API

小樊
85
2024-11-15 19:42:10
栏目: 编程语言

是的,C++在Linux环境下可以调用系统API

以下是一个简单的示例,展示了如何使用C++在Linux上调用系统API:

#include <iostream>
#include <unistd.h> // for sleep function
#include <sys/types.h> // for pid_t
#include <sys/wait.h> // for waitpid function

int main() {
    std::cout << "Calling fork system call..." << std::endl;

    pid_t pid = fork(); // Create a new process

    if (pid == 0) { // This is the child process
        std::cout << "I am the child process, my PID is: " << getpid() << std::endl;
        sleep(5); // Sleep for 5 seconds
        std::cout << "Child process exiting..." << std::endl;
    } else if (pid > 0) { // This is the parent process
        std::cout << "I am the parent process, my PID is: " << getpid() << std::endl;
        int status;
        waitpid(pid, &status, 0); // Wait for the child process to exit
        std::cout << "Child process exited with status: " << WEXITSTATUS(status) << std::endl;
    } else { // fork failed
        std::cerr << "Fork failed!" << std::endl;
        return 1;
    }

    return 0;
}

这个示例展示了如何使用fork()创建一个新的进程,以及如何使用getpid()获取当前进程的PID。同时,它还演示了如何在子进程中使用sleep()函数暂停执行5秒钟,以及如何使用waitpid()等待子进程退出。

这只是一个简单的例子,Linux系统API提供了许多其他功能,你可以根据需要调用它们。为了更好地理解和使用这些API,建议查阅Linux系统编程相关文档和书籍。

0
看了该问题的人还看了