在Mac上,FSRead,FSWrite,SetFPos等人在哪里定义,我应该使用它们吗?

时间:2011-06-29 00:08:12

标签: macos file-io osx-snow-leopard

我是一位经验丰富的Linux程序员,熟悉POSIX,stdio.h等,但对于Mac编程来说却是全新的。本周我试图获得一些其他人在几年前编写的源代码,以便在64位Snow Leopard上工作。它是最初用于CS3的Photoshop插件,现在可以与CS5一起使用。 (不要问我关于CS4。)这个插件是在命令行中使用gcc手写的makefile构建的。

今天的主要障碍是编译器抱怨几个未声明的功能:FSRead,FSWrite,SetFPos,GetFPos等等,都与文件有关。我很确定我有正确的路径,选择等。

经过两天的搜索标题,谷歌搜索,并尝试廉价的黑客,我被卡住了。这些功能在哪里定义?它们是标准的Mac OS X库函数还是Photoshop SDK函数?一些谷歌搜索结果表明这些功能已经过时,“已弃用”,但我猜现在已经过时了。如果是这种情况,我应该使用什么呢?

1 个答案:

答案 0 :(得分:4)

  

经过两天的搜索标题,谷歌搜索,并尝试廉价的黑客,我被卡住了。这些功能在哪里定义?它们是标准的Mac OS X库函数还是Photoshop SDK函数?

它们是旧的Carbon API。您可以使用Carbon框架,但Carbon不会移植到64位系统。由于Photoshop是64位,这根本不起作用。

我不熟悉如何处理Photoshop插件,但如果您正在寻找直接替换,您可以查看{API}的Core Foundation。实际上,您也可以使用POSIX API。如果Photoshop使用Cocoa和Objective-C,您可以使用Foundation和AppKit系列API。

相关问题