“格式塔”有什么作用?

时间:2012-01-06 23:54:29

标签: c macos unix

在Mac OS X上,格式塔的功能是什么?它是干什么用的?你能举个简单的例子吗?我知道它与系统调用有关,但具体到底是什么?

1 个答案:

答案 0 :(得分:8)

Gestalt为您提供有关运行应用程序的系统的详细信息,例如操作系统版本。下面是一个简单的示例,可以在运行此二进制文件的系统上获取Mac OSX版本:

#include <stdio.h>
#include <Gestalt.h>

int main() {
    SInt32 versMaj, versMin, versBugFix;
    Gestalt(gestaltSystemVersionMajor, &versMaj);
    Gestalt(gestaltSystemVersionMinor, &versMin);
    Gestalt(gestaltSystemVersionBugFix, &versBugFix);

    printf("Mac Version: %d.%d.%d\n", versMaj, versMin, versBugFix);
}

使用以下命令编译并运行此测试:

gcc -framework Carbon test.c && ./a.out

你可能还需要一个像-I/Developer/Headers/FlatCarbon/

这样的旗帜

这应该给出如下响应:Mac Version: 10.6.8

我在阅读official docs

后创建了这个示例