gpt4 book ai didi

c - 如何使用 mount(2) 挂载镜像

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:52:27 25 4
gpt4 key购买 nike

我无法通过 C 函数在 MacOSX 10.10 上挂载某些图像 mount() .

我使用下面的代码

...
char ImgPath[m_IMGName.size() + 1];
memcpy(ImgPath, m_IMGName.c_str(), m_IMGName.size() + 1);
struct hfs_mount_args data;
data.fspec = ImgPath;
if(mount("hfs+", m_TargetPath.c_str(), MNT_RDONLY, &data)){
throw SysCallTestExeption(errno, "mount() is failed!", GET_FILE_LINE_FUNC_ARG);
}
...

当我启动程序时,出现错误“mount() 失败!错误(设备不支持操作)。”

如果我使用以下命令,图像就会被挂载:

sudo hdiutil attach -mountpoint "${MountPointPath}" "${Image}"

此外,当我使用 mount() 时在 Linux 上 - 一切正常。以下 Linux 代码:

...
if(mount(m_IMGName.c_str(), m_TargetPath.c_str(), m_FSType.c_str(), 0, m_Opts.c_str())){
throw SysCallTestExeption(errno, "mount() is failed!", GET_FILE_LINE_FUNC_ARG);
}
...

最佳答案

没有输入hfs+

mount("hfs+", m_TargetPath.c_str(), MNT_RDONLY, &data)

您应该使用 hfs 来处理 HFS 和 HFS+。在 mount_hfs 中查找示例命令 source :

#define HFS_MOUNT_TYPE              "hfs"

关于c - 如何使用 mount(2) 挂载镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29947424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com