C “重建”;旗帜;mmap调用的参数

C “重建”;旗帜;mmap调用的参数,c,linux,C,Linux,mmap的参数之一是flags。在多大程度上可以重建与/proc/self/maps中的信息一起使用的标志?请参阅中的/proc/self/maps的详细信息 一些想法(实际上不是完整的答案): MAP\u PRIVATE和MAP\u SHARED标志可以从权限列中确定 MAP\u ANONYMOUS由空路径确定 一些标志(可能是MAP\u HUGETLB,MAP\u LOCKED)可以通过/proc/self/smap 一些标志,如MAP\u FIXED(可能是MAP\u 32BIT,MAP

mmap
的参数之一是
flags
。在多大程度上可以重建与
/proc/self/maps
中的信息一起使用的标志?

请参阅中的
/proc/self/maps
的详细信息

一些想法(实际上不是完整的答案):


  • MAP\u PRIVATE
    MAP\u SHARED
    标志可以从权限列中确定
  • MAP\u ANONYMOUS
    由空路径确定
  • 一些标志(可能是
    MAP\u HUGETLB
    MAP\u LOCKED
    )可以通过
    /proc/self/smap
  • 一些标志,如
    MAP\u FIXED
    (可能是
    MAP\u 32BIT
    MAP\u UNINITIALIZED
    )在
    mmap()返回后很可能不会保存在任何位置
  • 一些标志(
    MAP\u NONBLOCK
    MAP\u NORESERVE
    MAP\u POPULATE
    )可能存储在某个地方,但我认为它们不能通过
    /proc
    访问

HTH

为什么
fd
会有用?只有过程本身才知道/关心。您已经有了文件名。@IgnacioVazquez Abrams:我还没有考虑过这个问题-我会编辑这个问题的。但是我关于标志的问题仍然存在-我可以从
/proc/self/maps
中确定标志吗?
MAP\u PRIVATE
MAP\u SHARED
标志可以从
permissions
列中确定<代码>映射\u匿名
由空路径确定。某些标志,如
MAP\u FIXED
可能不会在
mmap()
返回后保存在任何位置。有些标志可能可能是从<代码> /PRO/Eng/SMAP确定的。相关:@ G-V:我认为你的第二个评论是我正在寻找的答案——如果你愿意,把它转换成答案,我就接受它。至于可能的重复-我同意这些问题非常相似,我专门寻找如何重建
flags
参数,这就是它的不同之处。我可以试着编辑这个问题,让它更明确。