小编siv*_*ius的帖子

如何在linux中两次打开文件?

我有一个带有fd和字符串的链表我用来在每个条目中打开这个文件.我想打开并仅在此文件尚未打开的情况下将文件添加到此列表中,因为我打开并解析此文件并且不想两次执行此操作.我的想法是将文件名与此列表中的每个名称进行比较,但我的程序多次执行,Linux中的一个文件可以有多个名称(软/硬链接).我认为它不应该那么复杂,因为操作系统很容易检查,我是否已经使用了inode,r?我已经尝试过open使用和不使用相同的文件flock,但我总是得到一个新的fd.

c linux file system-calls stat

2
推荐指数
1
解决办法
857
查看次数

在x86中没有段直接寻址?

具有SIB字节的存储器操作数的编码允许>无寄存器<用于索引以及基数.所以这应该是一个有效的指令:

03 04 25 10 32 54 76 -add eax, dword [ 0x76543210 ]

地址应按如下方式计算:1·0 + 0 + 0x76543210,不基于任何段寄存器.
在平坦的记忆中,这不应该改变任何东西,但这是不同的add eax, dword ds:0x76543210,如果ds不是零?

x86 assembly addressing-mode

2
推荐指数
1
解决办法
75
查看次数

标签 统计

addressing-mode ×1

assembly ×1

c ×1

file ×1

linux ×1

stat ×1

system-calls ×1

x86 ×1