对于近期打算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

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

Windows在结构objective C开发环境的更多相关文章

  1. Windows下搭建objective C开发环境

    摘自:http://blog.csdn.net/zhanghefu/article/details/18320827 最近打算针对iPhone.iPod touch和iPad开发一些应用,所以,需要开 ...

  2. 大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建

    大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建 大数据应用之Windows平台Hbase客户端Eclipse环境搭建-Java版 作者:张子良 版权所有,转载请注明出处 引子 ...

  3. Windows下搭建Spark+Hadoop开发环境

    Windows下搭建Spark+Hadoop开发环境需要一些工具支持. 只需要确保您的电脑已装好Java环境,那么就可以开始了. 一. 准备工作 1. 下载Hadoop2.7.1版本(写Spark和H ...

  4. 【转】linux和windows下安装python集成开发环境及其python包

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  5. 用Windows+VirtualBox搭建嵌入式Linux开发环境

    Windows+VirtualBox的嵌入式Linux开发环境的搭建 最近一直在学习Linux的设备驱动编写,一直是在物理机上安装的Ubuntu进行的,但是在Ubuntu12.04的系统中,已经不能用 ...

  6. Windows下的Objective-C集成开发环境(IDE)

    Windows下的Objective-C集成开发环境(IDE) 分类: Objective-C2012-04-20 21:54 26631人阅读 评论(42) 收藏 举报 windowside编译器c ...

  7. windows下搭建nginx+php开发环境

    windows下搭建nginx+php开发环境 1.前言 windows下大多我们都是下载使用集成环境,但是本地已经存在一个集成环境,但不适合项目的需求.因此准备再自己搭建一个环境. 2.准备 工具: ...

  8. 「C语言」在Windows平台搭建C语言开发环境的多种方式

    新接触C语言,如何在Windows下进行C语言开发环境的搭建值得思考并整理. 以下多种开发方式择一即可(DEV C++无须环境准备). 注:本文知识来源于  Windows 平台搭建C语言集成开发环境 ...

  9. Windows下安装Object C开发环境,及Hello Word(转)

    Windows下安装Object C开发环境,及Hello Word 最近想学习iphone开发,但是由于没有c基础,只有java基础.所以先从基础学习,首先是搭建环境,目前手头没有mac机子,只能先 ...

随机推荐

  1. nyoj 322 Sort 【树阵】

    这个问题实际上是在测试树的数组. 代码: #include <cstdio> #include <cstring> int c[1005]; int lowbit(int x) ...

  2. [SQL Server优化]善用系统监视器,确定系统瓶颈

    原文:[SQL Server优化]善用系统监视器,确定系统瓶颈 来自: http://hi.baidu.com/solorez/blog/item/f82038fa0e71b78d9e51468c.h ...

  3. QlikView线图高亮选择尺寸

    作为标题,如今,学生问我一个问题.尺寸Month.expression它是Count(Id). 这个图是一个折线图,不管你选择哪个月的其他下拉列表,销售量.由于Expression里面是这样写的 Co ...

  4. iOS第三方库

    热门iOS第三方库:看完,还敢自称”精通iOS开发”吗? 综合github上各个项目的关注度与具体使用情况,涵盖功能,UI,数据库,自动化测试,编程工具等类型,看完,还敢自称”精通iOS开发”吗? h ...

  5. 编写高性能Javascript

    编写高性能Javascript 多年来,Javascript一直在web应用开发中占据重要的地位,但是很多开发者往往忽视一些性能方面的知识,特别是随着计算机硬件的不断升级,开发者越发觉得Javascr ...

  6. android变化HOLO对话风格

    andriod风修改对话框格,通过设置theme实现.一些要素需要通过Java代码更改,下面的对话框更改的步骤的例子称号. 1.写文本样式. DIALOG标题是textview,在sytles.xml ...

  7. Sql示例说明如何分组后求中间值--【叶子】

    原文:Sql示例说明如何分组后求中间值--[叶子] 这里所谓的分组后求中间值是个什么概念呢? 我举个例子来说明一下: 假设我们现在有下面这样一个表: type        name price -- ...

  8. Suse发生了错误Access denied for user &#39;&#39;@&#39;localhost&#39; to&amp;

    好久没实用MySQL了,上次由于装了Banq的论坛系统.在用MySQL Administrator进去的时候居然提示mysql error number 1045 access denied for ...

  9. Web API之消息处理管道

    Web API之消息处理管道 前言 MVC有一套请求处理的机制,当然Web API也有自己的一套消息处理管道,该消息处理管道贯穿始终都是通过HttpMessageHandler来完成.我们知道请求信息 ...

  10. 新秀翻译(两)——使用Java通用配置模板方法模式

    假设你发现你已经非常重码,你可能会考虑使用模板的方法来消除easy重复错误代码.下面是一个示例:以下两类,他完成了几乎相同的功能: 实例化并初始化一个Reader来读取CSV文件. 读取每一行并解析: ...