是的,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系统编程相关文档和书籍。