Лучший способ начать с разработкой Mac

Cygwin

имеет полнофункциональную функцию fork () в Windows. Таким образом, если использование Cygwin приемлемо для вас, тогда проблема решается в том случае, если производительность не является проблемой. В противном случае вы можете посмотреть, как Cygwin реализует fork (). Из довольно старой архитектуры Cygwin doc :

5.6. Создание процесса Вызов fork в Cygwin особенно интересен, поскольку он плохо отображается поверх Win32 API. Это очень затрудняет правильную реализацию. В настоящее время ветвь Cygwin является реализацией без копирования при записи, аналогичной той, что была в ранних версиях UNIX. Первое, что происходит, когда родительский процесс разветвляется на дочерний процесс, - это то, что родительский процесс инициализирует пробел в таблице процессов Cygwin для дочернего элемента. Затем он создает приостановленный дочерний процесс с помощью вызова Win32 CreateProcess. Затем родительский процесс вызывает setjmp для сохранения своего собственного контекста и устанавливает указатель на него в области общей памяти Cygwin (общей для всех задач Cygwin). Затем он заполняет дочерние разделы .data и .bss, копируя из своего собственного адресного пространства в приостановленное дочернее адресное пространство. После инициализации адресного пространства дочернего объекта дочерний процесс запускается, пока родительский объект ожидает мьютекса. Ребенок обнаруживает, что он разветвлен и выполняет прыжки в длину с использованием сохраненного буфера перехода. Затем дочерний объект устанавливает мьютекс, на котором ожидает родительский элемент, и блокирует другой мьютекс. Это сигнал для родителя скопировать свой стек и кучу в дочерний элемент, после чего он освобождает мьютекс, которого ожидает дочерний элемент, и возвращается из вызова fork. Наконец, ребенок выходит из режима блокировки последнего мьютекса, воссоздает все отображенные в памяти области, переданные ему через общую область, и возвращается из самого форка. Хотя у нас есть некоторые идеи относительно того, как ускорить работу В нашей реализации fork за счет уменьшения количества переключений контекста между родительским и дочерним процессами fork почти наверняка будет неэффективным в Win32. К счастью, в большинстве случаев порожденное семейством вызовов, предоставляемое Cygwin, можно заменить пару fork / exec с небольшими усилиями. Эти вызовы отображаются чисто поверх Win32 API. В результате они намного эффективнее. Изменение программы драйвера компилятора для вызова spawn вместо fork было тривиальным изменением и увеличило скорость компиляции на двадцать-тридцать процентов в наших тестах. Однако spawn и exec представляют свои собственные трудности. Поскольку в Win32 нет никакого способа сделать настоящий exec, Cygwin должен изобрести свои собственные идентификаторы процессов (PID). В результате, когда процесс выполняет несколько вызовов exec, будет несколько PID Windows, связанных с одним PID Cygwin. В некоторых случаях заглушки каждого из этих процессов Win32 могут задерживаться, ожидая выхода из своего exec'd процесса Cygwin. blockquote> Звучит как большая работа, не так ли? И да, это slooooow. РЕДАКТИРОВАТЬ: документ устарел, пожалуйста, посмотрите этот отличный ответ для обновления
9
задан The.Anti.9 2 October 2008 в 12:52
поделиться

8 ответов

Cocoa(R) Programming для Mac(R) OS X (3-й выпуск) Aaron Hillegass:

enter image description here

У фантастической книги и автора есть большое доверие - Apple ввела его для обучения их разработчиков на Какао.

14
ответ дан 4 December 2019 в 08:54
поделиться

Для настольных приложений, cocoa+objective-c способ пойти. XCode является лучшим редактором для этого. Для веб-приложений я проверил бы Ruby on Rails и Textmate.

При выполнении разработки Java можно продолжить делать это, также. Eclipse будет очень знаком.

4
ответ дан 4 December 2019 в 08:54
поделиться

Я предложение второго hunterjrj книги Aaron Hillegass.

Другая книга, которую я читаю в данный момент, который является хорошим туром по Xcode 3, является Развязанным Xcode 3 Fritz Anderson.

Веб-сайт разработки Apple также имеет много руководств по программированию и видео. Подпишитесь по developer.apple.com. Если у Вас уже есть учетная запись apple.com (или iTunes), легко расширить это до членства разработчика. Обратите внимание, что Вы не получаете всю информацию о разработчике, если Вы не платите за полное членство ADC. Но все документы API и руководства по программированию доступны без оплаты.

2
ответ дан 4 December 2019 в 08:54
поделиться

Проверьте Mac Apple Центр Dev

1
ответ дан 4 December 2019 в 08:54
поделиться

Я присоединился к Сети разработчиков Mac и подписываюсь на многие подкасты там. Не ссылочный ум, Вы просто место для хранения Вас мотивированными на Вашей поездке.

2
ответ дан 4 December 2019 в 08:54
поделиться

Если Вы имеете опыт Windows, но также и хотите разработать программное обеспечение Mac, Вы могли бы рассмотреть изучение REALbasic. Это не предоставляет Вам полный доступ к платформе Какао Mac OS X, но это может использоваться для создания некоторых гладких приложений для Mac. И действительно легко начать с.

0
ответ дан 4 December 2019 в 08:54
поделиться

Вы могли попытаться комбинировать f-сценарий и традиционное Какао (XCode, другими словами). f-сценарий является большим, когда Вы хотите экспериментировать с Какао API, который, конечно, отличается от того, к чему Вы привыкли. Чем более динамичными Вы остаетесь, тем быстрее Вы учитесь. Это - мой опыт.

0
ответ дан 4 December 2019 в 08:54
поделиться

Вы происходите из среды Windows? Если Вы делаете я рекомендовал бы Моно, который является .NET бесплатная реализация или Java, обе платформы работают хорошо в windows/osx/linux

Если Вы просто хотите быть нацеленными на OSX затем, Cocoa/Objective-C/XCode является способом пойти, но я не совсем уверен, сколько документации или примеров Вы найдете, так как, кажется, существует только один крупный поставщик для средств разработки для OSX, и это - сама Apple по сравнению с несметным числом средств разработки, Вы могли бы найти разработку для Windows.

Конечно, существует много других альтернатив, помнят, что OSX является оперативной системой Unix, Вы могли легко разработать с Python/Perl/Ruby и многими другими языками сценариев и технологиями разработки просто убедиться знать то, для чего платформы - Вы собирающийся предназначаться.

1
ответ дан 4 December 2019 в 08:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: