Можно ли программировать iPhone на C ++?

Входящие загрузки файлов действительно представлены как объекты FileStorage. Однако это означает, что not обязательно означает, что задействован фактический физический файл.

При анализе файловых объектов Werkzeug использует stream_factory(), вызываемый для создания файлового объекта. Реализация по умолчанию создает фактический физический файл для файлов размером 500 кбайт и более, чтобы избежать потери памяти.

Для файлов less вместо этого используется файловый объект в памяти.

Я не буду вмешиваться в это соглашение; поскольку он работает прямо сейчас, проблема обрабатывается прозрачно, и ваш жесткий диск задействован только в том случае, если загрузка файлов в противном случае слишком сильно обременяет вашу память.

Скорее, я бы изменил эту функцию, чтобы не требовать имя файла и / или принять файл-объект.

Если ваша функция может принимать только путь или к содержащимся данным в виде строки, вы можете увидеть, нужно ли читать этот файл, исследуя основные .stream:

from werkzeug._compat import BytesIO

filename = data = None
if file_upload.filename is None:
    data = file_upload.read()  # in-memory stream, so read it out.
else:
    filename = file_upload.filename
125
задан Ned Batchelder 9 November 2008 в 17:27
поделиться

6 ответов

Короткий ответ, да, вид. Можно использовать Objective C ++, о котором можно читать в Соединение Разработчика Apple.

, Если бы Вы уже знаете, C++, изучая Objective C был бы довольно прост, если бы Вы решили дать этому попытку. Больше информации о той теме в ADC также.

57
ответ дан Janus Troelsen 9 November 2008 в 17:27
поделиться

Прежде всего высказывание Objective C "безумно", является юмористическим - у меня есть книга C++ Bjarne Stroustrup, сидящая у моей стороны, которая начинает работу на уровне 1 020 страниц. PDF Apple на Objective C равняется 141.

, Если Вы хотите использовать UIKit, для Вас будет очень, очень трудно сделать что-либо в C++. Для любого серьезного приложения для iPhone, которое соответствует UI Apple, будет нужно, это - части UI, которые будут записаны в Objective C. Только если Вы пишете, что игра OpenGL может Вы придерживаться почти полностью C/C++.

28
ответ дан dnolen 9 November 2008 в 17:27
поделиться
  • 1
    как установить тайм-аут с этим? Я попробовал этот метод, но так или иначе страница все еще ожидает изображения для загрузки. – Arief 6 December 2010 в 09:40

Имея некоторый опыт этого, можно действительно использовать код C++ для "базового" кода, но необходимо использовать цель-C для чего-либо конкретный iPhone.

не пытаются вынудить Objective C действовать как C++. Сначала это будет казаться Вам, это возможно, но получающийся код действительно не будет работать хорошо с Какао, и Вы станете очень смущенными относительно того, что продолжается. Не торопитесь для изучения правильно без любого C++ вокруг, как создать графический интерфейсы пользователя и приложения для iPhone, затем свяжитесь в базе C++.

14
ответ дан Chris Jefferson 9 November 2008 в 17:27
поделиться
  • 1
    Если Вы проверяете свой browser' s временная шкала, например, Google Chrome' s dev временная шкала инструментов, Вы будете видеть, что создание любого элемента DOM (присоединяете ли Вы его к DOM, не важно, по-видимому) и затем установки его источника добавляет его к текущему document' s список загрузки - таким образом, страница НЕ закончит " loading" пока тот созданный элемент не загружается. Вашим решением является на самом деле не asyncrhonous событие в том смысле, что window.load () не будет стрелять, пока изображение не загрузилось, возможно задержав бесспорный paint или layout операции, и конечно задержав любой onload зависимости от события. – Tom Auger 16 November 2011 в 21:20

Хотя Objective C, действительно кажется, "безумен" первоначально, я поощряю Вас придерживаться его. После того как у Вас есть момент "a-ha", внезапно все это начинает иметь смысл. Для меня потребовалось приблизительно 2 недели сфокусированной концентрации Objective C для реального понимания платформ Какао, языка, и как все это совмещается. Но после того как я действительно "получил" его, это было очень очень захватывающе.

Это звучит как clichГ©, но это верно. Высуньте его.

, Конечно, при введении библиотек C++ или существующего кода C++ можно использовать те модули с Objective-C/Objective-C ++.

62
ответ дан Mitch Haile 9 November 2008 в 17:27
поделиться

Я использую Objective C для удара UI вместе.
, Но твердые кишки кода все еще записан в C++.

, Который является основной целью Objective C интерфейс UI и обработка событий.
И это работает отлично с этой целью.

мне все еще нравится C++ как бэкенд для кода, хотя (но это главным образом becuase, мне нравится C++) Вы могли довольно легко использовать Objective C для бэкенда приложения также.

41
ответ дан Martin York 9 November 2008 в 17:27
поделиться

В настоящее время я пишу платформу Objective-C ++ под названием Objective-X, которая делает возможным ПРОГРАММИРОВАНИЕ iPHONE на PURE C ++. Вы можете сделать это так:

#import "ObjectiveX.h"

void GUIApplicationMain() {    
    GUIAlert Alert;
    GUILabel Label;
    GUIScreen MainScreen;

    Alert.set_text(@"Just a lovely alert box!");
    Alert.set_title(@"Hello!");
    Alert.set_button(@"Okay");
    Alert.show();

    Label.set_text(@"Ciao!");
    Label.set_position(100, 200, 120, 40);

    MainScreen.init();
    MainScreen.addGUIControl(Label.init());    
}

и скомпилировать его, используя соответствующие параметры командной строки GCC. Я уже скомпилировал это приложение helloworld, и оно похоже на очарование w0rkX0rz. ;-) Скоро он будет доступен в GoogleCode. Найдите Objective-X или посетите http://infotronix.orgfree.com/objectivex прибл. неделю спустя!

Обновленный (но явно неактивный) URL: http://code.google.com/p/objectivex/

0
ответ дан 24 November 2019 в 01:01
поделиться
Другие вопросы по тегам:

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