Как я могу читать и записывать двоичные данные в OS-X? - PullRequest
0 голосов
/ 22 июля 2011

Мне нужно написать DLL (dynalib, что угодно) для OS X 10.6 (Snow Leopard) или более поздней версии. DLL читает и записывает двоичный файл. (Это собственный формат компании.) Он будет использоваться приложением, которое все Какао (AFIK). Все только 64 бит.

Из-за того, что я прочитал здесь документы Apple, книги и задал вопросы, у меня все еще нет ясного и уверенного представления о том, как правильно и правильно обращаться с двоичными файлами. У меня сложилось впечатление, что я не могу использовать стандартные Unix / C fopen (), fread () или open (), read () и т. Д. Или я могу, но я бы напрашивался на неприятности. Это правда? Должен ли я использовать что-то еще, и только что?

1 Ответ

1 голос
/ 22 июля 2011

У меня сложилось впечатление, что я не могу использовать стандартный Unix / C fopen (), fread () или открыть (), прочитать () и т. д.

Индивидуальность POSIX / BSD полностью поддерживается операционной системой. Не стесняйтесь писать в соответствии со стандартами C.

Foundation Kit содержит классы Objective-C и сообщения, которые вы можете использовать (NSData, NSFile и т. Д.), Однако их зачастую труднее использовать, особенно если вы поддерживаете переносимый код на разных платформах. Есть также побочный эффект от Objective-C, который несколько проще для обратного инжиниринга, чем прямой C (черта, общая для всех языков более высокого уровня).

В зависимости от потребностей вашей библиотеки, вы можете рассмотреть возможность ее оборачивания в Framework, а не на голую dylib.

...