是的,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系統編程相關文檔和書籍。