utsname/uname 在 C++ 中
utsname/uname in C++
我正在编写一个程序,它使用 header 和名称函数来显示操作系统名称、版本等。我包含了 header 并调用了该函数,但是,我收到致命错误,指出无法识别 header 文件。我在网上看到的所有内容都显示了我用作代码示例的 main.cpp 文件。任何有助于正确链接此 header 文件的帮助都会大有帮助!
我目前 运行 使用 VS、CLion 和 csegrid。
I am getting fatal errors stating that the header file is not recognized
您需要先安装提供该头文件(以及更多)的包。
Ubuntu:
sudo apt install linux-libc-dev
软呢帽:
sudo dnf install glibc-headers
如果您使用任何其他 OS,您需要使用 OS
提供的工具找到正确的包
然后,如果其他一切都准备就绪,这应该会编译并显示信息:
#include <sys/utsname.h>
#include <iostream>
// a small helper to display the content of an utsname struct:
std::ostream& operator<<(std::ostream& os, const utsname& u) {
return os << "sysname : " << u.sysname << '\n'
<< "nodename: " << u.nodename << '\n'
<< "release : " << u.release << '\n'
<< "version : " << u.version << '\n'
<< "machine : " << u.machine << '\n';
}
int main() {
utsname result; // declare the variable to hold the result
uname(&result); // call the uname() function to fill the struct
std::cout << result; // show the result using the helper function
}
我的 Ubuntu 20.04 (WSL2) 的示例输出:
sysname : Linux
nodename: TED-W10
release : 4.19.104-microsoft-standard
version : #1 SMP Wed Feb 19 06:37:35 UTC 2020
machine : x86_64
我正在编写一个程序,它使用
我目前 运行 使用 VS、CLion 和 csegrid。
I am getting fatal errors stating that the header file is not recognized
您需要先安装提供该头文件(以及更多)的包。
Ubuntu:
sudo apt install linux-libc-dev
软呢帽:
sudo dnf install glibc-headers
如果您使用任何其他 OS,您需要使用 OS
提供的工具找到正确的包然后,如果其他一切都准备就绪,这应该会编译并显示信息:
#include <sys/utsname.h>
#include <iostream>
// a small helper to display the content of an utsname struct:
std::ostream& operator<<(std::ostream& os, const utsname& u) {
return os << "sysname : " << u.sysname << '\n'
<< "nodename: " << u.nodename << '\n'
<< "release : " << u.release << '\n'
<< "version : " << u.version << '\n'
<< "machine : " << u.machine << '\n';
}
int main() {
utsname result; // declare the variable to hold the result
uname(&result); // call the uname() function to fill the struct
std::cout << result; // show the result using the helper function
}
我的 Ubuntu 20.04 (WSL2) 的示例输出:
sysname : Linux
nodename: TED-W10
release : 4.19.104-microsoft-standard
version : #1 SMP Wed Feb 19 06:37:35 UTC 2020
machine : x86_64