- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关闭。这个问题需要details or clarity .它目前不接受答案。
想改进这个问题?通过 editing this post 添加详细信息并澄清问题.
2年前关闭。
Improve this question
环境:Ubuntu 18.04,Linux 内核 5.3
我正在使用 gdb
调试一些二进制文件.这是我在捕获 stat
时发现的系统调用:
(gdb) bt
#0 0x00007f2d8ecae775 in __GI___xstat (vers=vers@entry=1, name=name@entry=0x7f2d882d7d60 "/etc/app/cfg", buf=buf@entry=0x7f2d8f3a14f0) at ../sysdeps/unix/sysv/linux/wordsize-64/xstat.c:35
#1 0x00007f2d592294e4 in stat64 (__statbuf=0x7f2d8f3a14f0, __path=0x7f2d882d7d60 "/etc/app/cfg") at /usr/include/x86_64-linux-gnu/sys/stat.h:500
#2 0x00007f2d6fac1990 in ?? ()
#3 0x00007f2d8f3a15c8 in ?? ()
#4 0x00007f2d8f3a1620 in ?? ()
#5 0x00007f2d6fabbcb3 in ?? ()
#6 0x00000007170a2ae8 in ?? ()
#7 0x00007f2d8f3a15d0 in ?? ()
#8 0x0000000000000000 in ?? ()
#1 0x00007f2d592294e4 in stat64 (__statbuf=0x7f2d8f3a14f0, __path=0x7f2d882d7d60 "/etc/app/cfg") at /usr/include/x86_64-linux-gnu/sys/stat.h:500
让我很困惑。
stat64
明确 .首先它需要
_GNU_SOURCE
被定义为。其次,据我所知 glibc 的
stat
已经处理了所有内核特定的
32
/
64
位差人员。
stat
和
stat64
使用相同的
stat
我的内核上的系统调用。
最佳答案
最可能的解释是程序做了 #define _FILE_OFFSET_BITS 64
在包括任何系统 header 之前。这会导致调用普通 stat
重新映射到 stat64
, open
至open64
等。现在所有的应用程序都应该这样做。
但是,使用 stat64
是有原因的。等直接。在一个公共(public)接口(interface)逻辑上应该涉及 off_t
的库中或通过定义 _FILE_OFFSET_BITS
更改的任何其他类型,您不能在接口(interface)标题中使用该定义或任何这些类型,因为那样您自己的 ABI 将取决于该宏的设置,该宏由库用户控制,而不是您。相反,您必须定义 _LARGEFILE64_SOURCE
并在接口(interface)标题中使用显式大小的类型( off64_t
等)和函数( stat64
等)。原则上,不暴露给外部宏定义的 .c 和 .h 文件仍然可以使用 _FILE_OFFSET_BITS
和普通函数,但在实践中更容易强制执行所有库的代码必须仅使用显式大小的类型和函数的样式规则。
关于c - 为什么要明确调用 stat64 ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61448470/
我在 linux 上工作。我对windows没有太多想法。 windows中文件的权限是如何组织的?我们在unix中是否有像chmod这样的api来更改权限? 最佳答案 对于 Windows,有一个名
应用程序编程接口(interface) (API) 是一组用于访问基于 Web 的软件应用程序的编程指令和标准。 如果出现 ,有人可以向我解释一下吗?谷歌地图 或 优酷 这是API哪个是softwar
我有两个应用程序,A 和 B,它们使用 android 库 C。B 有一个服务 A 想通过 C 使用,例如 在我的库中有一个类试图将它绑定(bind)到服务,
我正在正常或安全模式下启动相机应用程序,具体取决于使用我的应用程序执行的手势,但一旦用户选择应用程序并点击始终,则没有选项可以更改默认值,即使是从 Android 的设置菜单中也是如此. camera
我有一个数据集,本质上是一个稀疏二进制矩阵,表示两个集合的元素之间的关系。例如,让第一组是人(用他们的名字表示),例如像这样的东西: people = set(['john','jane','mike
何为pythonic? pythonic如果翻译成中文的话就是很python。很+名词结构的用法在中国不少,比如:很娘,很国足,很CCTV等等。 我的理解为,很+名词表达了一种特殊和强调的意味。
某些 Prolog 目标的确定性成功问题已经一次又一次地出现在 - 至少 - 以下问题: Reification of term equality/inequality Intersection an
我指的是 DateTime.TryParse(string s, out DateTime result) 重载,它尝试从字符串中解析 DateTime - 没有特定的格式正在指定。 我可以从http
2020 年 04 月 10 日,《中共中央国务院关于构建更加完善的要素市场化配置体制机制的意见》正式公布,将数据确立为五大生产要素(土地、资本、劳动力以及技术)之
有人可以解释一下 NSNotification 的 addObserver 函数中 notificationSender 的用途吗? 这是 Apple 文档的解释: notificationSende
我是一名优秀的程序员,十分优秀!