Можете ли вы использовать функцию C open (const char * name, int flag) на iPhone? - PullRequest
2 голосов
/ 07 января 2012

Я пытаюсь портировать библиотеку для запуска на iPhone, которая использует отображение памяти и кучу других вещей.Я заметил, что также отсутствует куча #defines (O_RDONLY), которая должна быть определена в <fcntl.h>.

Ответы [ 2 ]

5 голосов
/ 07 января 2012

Вы можете использовать его, но заголовок fcntl.h по умолчанию не включен в платформы Foundation или UIKit.Чтобы использовать системный вызов open(2), просто импортируйте этот заголовок, где бы вы его не использовали (или добавьте его в предварительно скомпилированный файл заголовка).

Например:

#import <fcntl.h>

// now you can use open or import your library header files
0 голосов
/ 07 января 2012

Почему бы и нет? Единственная проблема, с которой он может столкнуться, - Apple не принимает его, так как они сканируют программы на наличие системных вызовов. Но я считаю, что открытый системный вызов - это нормально.

...