Windows下利用GNU 开发Objective-C

本文介绍如何在Windows系统上搭建Objective-C开发环境,包括安装GNUstep和MinGW工具,以及通过示例代码验证环境配置正确。

除了在 Mac 系统上使用 Objective-C,你还可以在 Windows 上下载并安装 GNUstep 和 Objective-C 环境,至于GNUstep是什么东西,有什么用处,这里做个简单的介绍:GNUstep就是提供类似Cocoa(苹果OS的开发框架)的API和工具,目前支持GNU/Linux and GNU/HURD, Solaris, NetBSD, OpenBSD, FreeBSD, Darwin和Windows,免费使用的。这个项目使Objective C能在多数流行平台上开发和运行。有关详细的介绍开始参考GNUstep的官方网站。
接下来我们就介绍详细的安装和使用的步骤。


下载 GNUstep

GNUstep 环境可通过 Windows 下的 MinGW 工具来使用,MinGW 是 GNU 编译工具在 Windows 下的移植版本。安装 GNUstep 包括安装 MinGW 和 GNUstep,这两者都可以通过这里下载:http://www.gnustep.org/experience/Windows.html.

MinGW 包含 GNUstep System 和 GNUstep Core,必须先安装这二者。

主要的四个软件包:GNUstep MSYS SystemGNUstep CoreGNUstep DevelCairo Backend。其中,前两个软件包是必须要安装的,第三个软件包是安装一些开发工具,比如:gcc、g++等,所以如果是学习Objective C的话,这个包也是必须要安装,第四个软件包是安装glib等库,这个包安装不安装根据具体情况而定。

安装 MinGW 和 GNUstep

上面所需的包下载完后,就可以开始安装,图形化的安装向导界面,我们将安装目录指定为 C:\GNUstep

Installing Objective-C on Windows

一旦 MinGW 安装完毕,即可安装 GNUstep Core 包

运行 GNUstep Shell

想开始使用 Objective-C 和 GNUstep, 需要启动 GNUstep shell ,从开始菜单中的 GNUstep 中运行 Shell,如下图所示:

The GNUstep shell running on Windows


安装完的测试

该 Shell 环境是一个最小化版本的 Linux 或 Unix 环境,如果你对此不熟悉,不怕,你也可以使用 Windows 下你熟悉的编辑器。

在“开始”菜单中“所有程序”下可以找到“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。

   (注意如果gnu 安装在c盘,就保存在其他地方,在shell 里cd 那就ok,否则 总是出现No such file or directory)在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的窗口下不能复制,粘贴,手动打字容易出错,所以,可以写个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


内容概要:本文详细介绍了“秒杀商城”微服务架构的设计与实战全过程,涵盖系统从需求分析、服务拆分、技术选型到核心功能开发、分布式事务处理、容器化部署及监控链路追踪的完整流程。重点解决了高并发场景下的超卖问题,采用Redis预减库存、消息队列削峰、数据库乐观锁等手段保障数据一致性,并通过Nacos实现服务注册发现与配置管理,利用Seata处理跨服务分布式事务,结合RabbitMQ实现异步下单,提升系统吞吐能力。同时,项目支持Docker Compose快速部署和Kubernetes生产级编排,集成Sleuth+Zipkin链路追踪与Prometheus+Grafana监控体系,构建可观测性强的微服务系统。; 适合人群:具备Java基础和Spring Boot开发经验,熟悉微服务基本概念的中高级研发人员,尤其是希望深入理解高并发系统设计、分布式事务、服务治理等核心技术的开发者;适合工作2-5年、有志于转型微服务或提升架构能力的工程师; 使用场景及目标:①学习如何基于Spring Cloud Alibaba构建完整的微服务项目;②掌握秒杀场景下高并发、超卖控制、异步化、削峰填谷等关键技术方案;③实践分布式事务(Seata)、服务熔断降级、链路追踪、统一配置中心等企业级中间件的应用;④完成从本地开发到容器化部署的全流程落地; 阅读建议:建议按照文档提供的七个阶段循序渐进地动手实践,重点关注秒杀流程设计、服务间通信机制、分布式事务实现和系统性能优化部分,结合代码调试与监控工具深入理解各组件协作原理,真正掌握高并发微服务系统的构建能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值