2010-06-17 4 views
4

Возможно ли использовать Xcode с помощью iPhone 3.1.3 SDK для компиляции стандартной программы на C, которая будет работать на iphone? Я пытаюсь использовать xcode для компиляции базового «привет мир», но безрезультатно. Нужно ли мне получить дополнительный шаблон приложения, или я просто что-то пропустил?xcode компиляция консольного приложения - c программирование

ответ

2

Если вы используете шаблон плиты котла для приложения какао, который использует NSApplicationMain и несколько других структур, необходимых для запуска программы какао, тогда вы можете начать писать методы C, не нажимая объектив-c. Предостережения:

1) для целей тестирования, похоже, при использовании xcode лучше всего начать с шаблона «Window-Based Application», предлагаемого в категории новых проектов iphone. Это минимальный шаблон без пользовательского интерфейса - просто окно.

2) В iphone нет «main()» persay. Вы должны поместить свой код в файл «AppDelegate.m», который на самом деле будет «[YourProjectName] AppDelegate.m». Внутри здесь вы найдете способ:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ 
    //YOUR CODE GOES HERE 

    return YES; 
} 

Это хорошее место для вызова функций C, вы написали, что вы можете сделать что-либо в этом исходном файле, или лучше, в отдельном файле, который вы #import , Обратите внимание, что приложение будет блокироваться до завершения всех ваших c-кодов.

3) Нет печати, я не верю. Сожалею. Один из способов получить информацию - использовать NSLog - но он ожидает, что цепочки объектных c не будут строками C. Поэтому, если вы хотите увидеть какой-либо статус из своей C-программы, вам нужно будет использовать лишь небольшую часть объектива-c. Линия вопрос:

char *your_char_pointer = //...gimme a string; 
NSLog([NSString stringWithCString:your_char_pointer]); 

, где это будет конвертировать C строки в строку Objective-C, что NSLog будет счастливо печатать на консоли (если смотреть с помощью приложения консоли в папке Utility в приложениях на OSX) ,

Что хорошего?

0

iPhone официально не поддерживает консольные приложения.

0

Я уверен, что это, вероятно, грубый ответ, но вы хотите проверить: «Программирование iPhone: The Big Nerd Ranch Guide». Я сам работал над этой книгой, и это был отличный ресурс.

И вы можете, конечно, использовать XCode для компиляции стандартной программы на C и вывода своего «Hello World» на консоль. Однако вы не упоминаете, хотите ли вы запускать эту программу на iPhone/iPad/iPod Touch.

Если вы просто хотите научиться какао и не хотите, чтобы это запускалось на iPhone, ознакомьтесь с книгой-сестрой: «Программирование Cocoa® для Mac® OS X (3-е издание)».

2

Если у вас есть взломанный iPhone, установите GCC и другие требования (см. Эту страницу http://antirez.com/page/iphone-gcc-guide.html). Компиляция коды на устройстве с НКУ

#include <stdio.h> 

int main(void) 
{ 
    printf("Hello World\n"); 
    return 0; 
} 

Использование терминала для компиляции

gcc -c main.c -o hello.o 

ld hello.o -e _main -o Hello 

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

Смежные вопросы