是否存在允许我的 C++ 代码在 Mac OS X 上使用 hdiutil 的系统调用或库。我的代码需要挂载可用的 .dmg 文件,然后操作其中的内容。
问问题
1650 次
3 回答
3
如果你可以使用 Objective-C++,你可以使用 NSTask 来运行命令行工具:
NSTask *task = [[NSTask alloc] init];
[task setLaunchPath: @"/usr/bin/hdiutil"];
[task setArguments:
[NSArray arrayWithObjects: @"attach", @"/path/to/dmg/file", nil]];
[task launch];
[task waitUntilExit];
if (0 != [task terminationStatus])
NSLog(@"Mount failed.");
[task release];
如果需要使用“普通”C++,可以使用 system():
if (0 != system("/usr/bin/hdiutil attach /path/to/dmg/file"))
puts("Mount failed.");
或 fork()/exec()。
您需要仔细检查是否hdiutil
实际返回 0 表示成功。
于 2010-01-05T19:17:43.110 回答
3
hdiutil
使用 DiskImages.framework;不幸的是,该框架是私有的(未记录,没有标题),但如果您喜欢冒险,您可以尝试使用它。
于 2010-01-05T20:10:31.563 回答