- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试通过调用 uname 系统调用来获取 Linux 内核版本信息,但收到编译器错误,提示 ‘struct utsname’ 没有名为“domainname”的成员
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/utsname.h>
#define _GNU_SOURCE
int main(void) {
struct utsname buffer;
errno = 0;
if (uname(&buffer) != 0) {
perror("uname");
exit(EXIT_FAILURE);
}
printf("system name = %s\n", buffer.sysname);
printf("node name = %s\n", buffer.nodename);
printf("release = %s\n", buffer.release);
printf("version = %s\n", buffer.version);
printf("machine = %s\n", buffer.machine);
#ifdef _GNU_SOURCE
printf("domain name = %s\n", buffer.domainname);
#endif
return EXIT_SUCCESS;
}
根据https://linux.die.net/man/2/uname struct utsname 是
struct utsname {
char sysname[]; /* Operating system name (e.g., "Linux") */
char nodename[]; /* Name within "some implementation-defined
network" */
char release[]; /* Operating system release (e.g., "2.6.28") */
char version[]; /* Operating system version */
char machine[]; /* Hardware identifier */
#ifdef _GNU_SOURCE
char domainname[]; /* NIS or YP domain name */
#endif
};
我不确定我在这里错过了什么
最佳答案
NOTE: In order to be effective, a feature test macro must be defined before including any header files
它是:
#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/utsname.h>
关于c - 为什么即使我定义了 _GNU_SOURCE 也无法访问 uname 结构体的域名成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59246508/
我有一个脚本,在应用程序启动时正在寻找主机。我在脚本 VAR=$(uname -n) 的开头声明一个变量,并在整个脚本中根据需要调用该变量。在整个脚本中仅使用 $(uname -n) 而不是每次都调用
短篇小说:我需要编写一个 PHP 脚本来从 uname 中找到正确的操作系统类型(例如:wince 和 winnt 都会返回 windows)。 See here了解更多信息。 这不应该是一个社区 w
我应该编写一个函数来获取有关系统的一些信息(最重要的信息是体系结构)。我找到了函数uname,可以在sys/utsname.h 中使用。好吧,虽然我用谷歌搜索并阅读了文档,但我找不到该函数的任何示例,
uname -a各件有什么用输出是什么意思?以下是示例输出: Linux mymachine 2.6.18-194.e15PAE #1 SMP Fri Apr 2 15:37:44 EDT 2010
我有一个 ec2 实例,我无法告诉它确切的操作系统。 我输入了 uname -a,它显示: 2.6.18-274.7.1.el5xen #1 SMP Thu Oct 20 17:06:34 EDT 2
uname(1)命令行实用程序有一个 -m 选项,它打印“机器硬件名称”。 在 Linux 上,此字段来自 struct utsname 的 machine 成员,由 uname(2) 填充系统调用。
调用uname(2)后是否需要检查错误? 根据手册页: On success, zero is returned. On error, -1 is returned, and errno is set
从 C++ 程序调用“uname -a”并将结果发送到流的好方法是什么? 我查看了 system() 和 exec(),但它们似乎无法访问调用的标准输出。 谢谢。 -威廉 最佳答案 为什么不直接从 s
我在 Mac 上使用 golang 1.4.2 我想使用 Uname要获取一些信息,以下是我的代码: package main import ( "syscall" ) func main() {
当我做: >>> import os >>> os.uname() 我收到如下所示的属性错误: Traceback (most recent call last): File "", line 1
为什么 oldolduname 和 uname 有区别? 我一直在阅读手册页,但我没有理解其中的微妙之处。 最佳答案 首先,如果你从用户空间调用uname,你不需要关心区别,应该不需要使用olduna
我尝试通过调用 uname 系统调用来获取 Linux 内核版本信息,但收到编译器错误,提示 ‘struct utsname’ 没有名为“domainname”的成员 #include #inclu
我刚刚安装了全新的 Ubuntu Server 14.04.2 LTS,还安装了 docker 来运行容器。我正面临一些问题。一个容器将用于运行 Jenkins,它的一些作业运行脚本来安装 Andro
在我的 .bashrc 中有以下代码 if [`uname` == "Linux"]; then echo "It worked" else echo "It didn't work"
我想确定我使用的是哪个版本的 Windows POSIX::uname。我知道它在 Windows 2012 上返回 6.2。我找到了包含这些值、Windows 版本和相应版本号的表格,但我找不到了。
我正在使用旧版本 (2.6.33.2) 的嵌入式 Linux,并被要求更改内核,以便可以区分打了不同补丁的内核镜像。目前,uname -v 输出例如"#1 Wed Sep 11 07:07:51 BS
我正在尝试用 ABAP 编写我的第一个单元测试。 我的测试方法获取登录用户的团队成员(通过系统变量 sy-uname )。 因为我希望测试对每个人都运行,所以我不能让方法运行并断言我自己的团队成员之一
最近我开始研究 JS 库 Typeahead作为预测搜索框的解决方案。然而,在查看实现它的代码后,我开始更深入地研究事物,它导致我在 javascript 中声明函数。 . 据我所知,实现这一目标有
我刚刚安装了 xkeycaps 并在我的键盘布局中修改了一个键。所以保存后,xkeycaps说我应该修改登录脚本添加: xmodmap ~/.xmodmap-`uname-n` 但是当我运行该行时,我
我有一个 Python 程序,它被设计为只能在某些 Linux 发行版(即 CentOS、Ubuntu 等)中运行。我想让它在 CentOS7 容器中运行,但它失败了,因为以下返回“4.9.49-mo
我是一名优秀的程序员,十分优秀!