是否可以使用iPhone 3.1.3 SDK的Xcode编译标准的C程序,以便在iPhone上运行?我正在尝试使用Xcode编译基本的“hello world”,但无济于事。我需要获取额外的应用程序模板吗,还是我只是错过了什么?
是否可以使用iPhone 3.1.3 SDK的Xcode编译标准的C程序,以便在iPhone上运行?我正在尝试使用Xcode编译基本的“hello world”,但无济于事。我需要获取额外的应用程序模板吗,还是我只是错过了什么?
#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
请记住,编译后的应用程序是本地控制台应用程序,不支持用户界面,因此只能从终端运行。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
//YOUR CODE GOES HERE
return YES;
}
这是一个很好的地方,可以调用你编写的C函数,你可以在源文件中完成,或者更好的做法是在一个单独的文件中使用#import。请注意,应用程序将阻塞,直到您的所有C代码执行完成。
3)我不认为有printf。很抱歉。获取信息的一种方法是使用NSLog - 但它期望使用Objective-C字符串而不是C字符串。因此,如果您想实际看到您的C程序的任何状态,请使用少量的Objective-C。相关代码如下:
char *your_char_pointer = //...gimme a string;
NSLog([NSString stringWithCString:your_char_pointer]);
这将把您的C字符串转换为Objective-C字符串,使NSLog能够轻松地将其打印到控制台上(在OSX应用程序中的实用程序文件夹中使用控制台应用程序查看)。
这样可以吗?
iPhone 不官方支持控制台应用程序。
我确定这可能是一个简单的答案,但你可以看看:'iPhone编程:大牛栏指南'。我自己也通过这本书学习过,它是一个很好的资源。
当然,你可以使用XCode编译标准的C程序,并将“Hello World”输出到控制台。但是,你没有提到是否想在iPhone/iPad/iPod Touch上运行此程序。
如果你只是想学习Cocoa,而不一定要在iPhone上运行,那么可以看看姊妹书籍:'Cocoa® Programming for Mac® OS X (3rd Edition)'。