Windows在结构objective C开发环境

时间:2022-03-19 13:30:34

对于近期打算iPhone、iPod touch和iPad开发一些应用程序,所以。需要开始学习Objective C(苹果推出的类似C语言的开发语言)。因为苹果的自我封闭的产业链发展模式(从芯片、机器、开发语言、终端产品、服务)的限制,要想开发针对苹果 iPhone等产品的应用程序,就须要用Mac机器,在Xcode的IDE上使用Objective C语言开发。

Mac机器就不用说了。那比PC机器要贵不少(当然性价比还是非常高的),所以,要想便宜方式学习Objective C就必须要在Windows上能搭建一个Objective
C开发环境。好了。不说废话了。

http://www.gnustep.org/experience/Windows.html

      在Windows下搭建Objective C开发环境,须要到GNUstep官方站点上下载,四个软件包:GNUstep MSYS SystemGNUstep CoreGNUstep DevelCairo
Backend
。当中,前两个软件包是必需要安装的,第三个软件包是安装一些开发工具。比方:gcc、g++等,所以假设是学习Objective C的话。这个包也是必需要安装。第四个软件包是安装glib等库,这个包安装不安装依据详细情况而定。

至于GNUstep是什么东西,有什么用处,这里做个简单的介绍:GNUstep就是提供类似Cocoa(苹果OS的开发框架)的API和工具,眼下支持GNU/Linux and GNU/HURD, Solaris, NetBSD, OpenBSD, FreeBSD, Darwin和Windows,免费使用的。

这个项目使Objective C能在多数流行平台上开发和执行。

有关具体的介绍開始參考GNUstep的官方站点。



    言归正传。下载上述软件包后,点击安装就能够了。然后。须要确认是否成功安装,而且能否成功编译Objective C代码。

在“開始”菜单中“全部程序”下能够找到“GNUstep” -> “shell”,就会出console窗体,能够试试一些Linux命令(ls,cd,mkdir等)。

编写一个Objective C代码进行编译执行測试。在这里就用经典的“hello world”来说明:

#import <Foundation/Foundation.h>
int main (int argc, const char *argv[]) {
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
NSLog(@"Hello World!");
[pool drain];
return 0;
}

在Windows环境下用文本编辑器(Editplus,UE等),编写上述代码,而且保存到GNUstep安装文件夹下的/home下,取名为helloworld.m。在GNUstep的console窗体命令行下。



    1、cd /home



    2、gcc -o helloworld helloworld.m -I/GNUstep/System/Library/Headers -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base



    3、执行helloworld.exe

说明:第二步中的一些參 数明说,假设熟悉Linux/Unix下C/C++编译的话,上述參数应该非常熟悉。-I表示头文件查找的路径,-L表示库文件查找路径。-l表示须要链接 的库文件。可是,-fconstant-string-class=NSConstantString  对于这个參数可能比較陌生,这个參数主要是指定常量字符串所使用的class。

改进:因为在GNUstep的窗体下不能复制,粘贴,手动打字easy出错,所以,能够写个shell脚本。取名为test.sh,内容例如以下:

gcc -o "$1" "$2" -I/GNUstep/System/Library/Headers -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base

然后和上面的一样,在GNUstep的console窗体命令行下

1、cd /home

2、sh test.sh  helloworld  helloworld.m

3、执行helloworld.exe

说明:test.sh中的$1 和 $2分别表示获取运行test.sh时传进来的第1个和第2个參数。然后通过sh test.sh  helloworld helloworld.m就是运行test.sh脚本并传入两个參数,採用传參数的目的是让这个test.sh成为一个编译的模板,这样每次仅仅要传不同的參数就能够编译运行。

helloworld.exe编译并执行成功的话,说明windows下Objective C建立一个良好的发展环境,这可以通过学习,廉价的方式启动Objective C

版权声明:本文博客原创文章,博客,未经同意,不得转载。