一、安装GNUstep for Windows
Windows installer
http://wwwmain.gnustep.org/experience/Windows.html
GNUstep MSYS
GNUstep Core
GNUstep Devel
三个安装包都需要下载,GNUstep MSYS和GNUstep Core相当于Objective-C的运行时,而GNUstep Devel相当于XCode中使用的Foundation和UIKit。
GNUstep Devel依赖于GNUstep MSYS和GNUstep Core才可以运行。
二、测试GUI运行情况
上面的安装包默认不安装任何图形界面的程序。
只能通过开始菜单->GNUstep->Shell启动MSys命令行执行一些命令行指令。
基本操作和MinGW相同,唯一不同的是在
C:\GNUstep\GNUstep\System\Tools
有一些特有的程序,如openapp。
在官网上有个现成的示例代码包。
http://wwwmain.gnustep.org/resources/downloads.php?site=ftp%3A%2F%2Fftp.gnustep.org%2Fpub%2Fgnustep%2F
搜索GNUstep Development Tools下的Examples:
ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-examples-1.3.0.tar.gz
下载解压后,切换到指定目录下执行make即可编译,用openapp运行
$ tar xzf gnustep-examples-1.3.0.tar.gz
$ cd gnustep-examples-1.3.0
$ cd gui
$ cd Calculator
$ make
$ make print-gnustep-make-help
$ Calculator.app/Calculator.exe
$ openapp ./Calculator.app
三、使用gdb调试
HelloWorld命令行程序的编写、编译和调试方法参见:
http://www.nongnu.org/gstutorial/zh_TW/index.html
NSLog的输出需要gdb(直接执行程序是无法看到输出的),所以必须先了解gdb的使用方法(通常的做法是用.gdbinit编写调试脚本,所以必须搞清楚这个gdb支持哪些命令)。
1. 帮助:
http://sourceware.org/gdb/onlinedocs/gdb/
http://www.nongnu.org/gstutorial/
http://www.nongnu.org/gstutorial/en/index.html
http://www.nongnu.org/gstutorial/zh_TW/index.html
2. 相关问题
1) .gdbinit文件需要用echo创建。(或者用touch命令)
2) 用gdb -ex "help all" -ex "quit" > gdbhelp.txt查看gdb支持的指令(尽量写在.gdbinit文件中,在执行gdb时自动执行)。
3) GNUmakefile不能改名为Makefile,否则执行make后会出错。
4) 只有使用gdb时才可以看到NSLog的输出。
3. 参考代码和命令
.m文件(objc代码)
//prog1.m
#import <Foundation/Foundation.h>
int main(int argc, const char *argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog(@"Hello World!");
[pool drain];
return 0;
}
GNUmakefile文件(编译用)
# GNUmakefile
include $(GNUSTEP_MAKEFILES)/common.make
APP_NAME = HelloWorld
HelloWorld_HEADERS =
HelloWorld_OBJC_FILES = prog1.m
HelloWorld_RESOURCE_FILES =
include $(GNUSTEP_MAKEFILES)/application.make
.gdbinit(调试用,不是必需的,用于屏蔽调试输出,因为gdb默认读取.gdbinit中的指令)
# .gdbinit
# http://sourceware.org/gdb/onlinedocs/gdb/
set debugevents off
set debugexceptions off
set print thread-events off
run
quit
执行命令:(openapp --debug等效于debugapp)
$ echo hello > .gdbinit
$ gdb -ex "help all" -ex "quit" > gdbhelp.txt
$ make
$ openapp --debug ./HelloWorld.app
$ debugapp ./HelloWorld.app
$ gdb --quiet ./HelloWorld.app/HelloWorld.exe
(TODO)
分享到:
相关推荐
2. **Objective-C**:虽然Objective-C主要与苹果的iOS和macOS平台相关,但在Windows上也有实现,如GNUStep。处理Objective-C代码时,理解如何设置和处理UTF-8字符串是必要的,因为这会影响字符串的编码和解码。 3. ...
基于4GGPRS DTU开发板的硬件图纸与软件代码全套资源,军工级电路,支持多种通信协议与数据加密,适合物联网应用。,基于4GGPRS DTU开发板的硬件图纸与软件代码全套,军工级电路,支持多种通信协议与数据加密,适用于多种物联网应用。,资料:4g GPRS DTU 开发板软件代码硬件图纸料包括:原理图,版图,单片机代码,sim800c官方资料 不含PCB板 本公司批产产品,已无故障运行数年 全套硬件图纸和软件代码。 程序比正点原子的可靠,军工级485电路。 NBIOT和4G等采用AT指令的均可参照此代码 GPRS具有比NBIOT更低的价格更好的网络,是目前低速物联网的主要通讯技术之一。 485转GPRS GPRS支持协议: TCP UDP HTTP-GET HTTP-POST FTP Md5数据加密 心跳包 电源部分,带共模电感,防反接二极管,Tvs管,5-30Vdc转5V和4V 485部分,硬件延时电路,可靠稳定 引出网络状态(兼电源)指示灯,收发指示灯,设置状态指示灯 微动按键设置工作状态 已预留LORA模块位置,若不用可将他的Io口改做他用,能引出一路串口,2路Io口 单片机
scala-intellij-bin-2024.1.1.zip
基于Android的平台书架设计实现源码,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。
# 基于nRF5系列芯片和SoftDevice SDK的蓝牙低能耗应用 ## 项目简介 这是一个基于nRF5系列芯片和SoftDevice SDK的蓝牙低能耗(BLE)应用程序的示例项目。项目包含基于nRF51822和nRF52832芯片的示例代码,以及设备固件升级(DFU)相关的代码。 ## 项目的主要特性和功能 基于nRF5系列芯片项目代码适用于Nordic Semiconductor的nRF51822和nRF52832芯片,这些芯片是专为蓝牙低能耗应用设计的。 使用SoftDevice SDK项目使用了Nordic的SoftDevice SDK,这是一个高度优化的BLE堆栈,适用于nRF5系列芯片。 支持UART通信项目中的BLE应用程序通过UART接口进行通信,允许数据通过BLE连接进行发送和接收。 设备固件升级(DFU)支持项目包含用于安全设备固件升级的引导加载程序,支持固件更新的验证和存储。
矿业生产管理数字化平台解决方案.doc
Matlab领域上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
kylin v10 SP1 系统下 可以查看本机电池容量放电和充电电流
【资源介绍】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,也可以作为小白实战演练和初期项目立项演示的重要参考借鉴资料。 3、本资源作为“学习资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研和多多调试实践。 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip
海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
1、以上文章可用于参考,请勿直接抄袭,学习、当作参考文献可以,主张借鉴学习 2、资源本身不含 对应项目代码,如需完整项目源码,请私信博主获取
1、以上文章可用于参考,请勿直接抄袭,学习、当作参考文献可以,主张借鉴学习 2、资源本身不含 对应项目代码,如需完整项目源码,请私信博主获取
14.智能台灯(语音模式)_20240318_205506.zip
数字信号处理中的采样与重构理论及其应用
python快速入门,零基础也能轻松掌握的入门指南,看着一个就够了。
LabView与三菱全系列通讯方法详解:上位机读取方法及实践,LabView与三菱全系列通讯方法及上位机数据读取攻略,labview和三菱全系列通讯方法 labview和三菱全系列通讯办法,和上位机读取方法。 ,LabVIEW; 三菱全系列通讯方法; 三菱全系列通讯办法; 上位机读取方法,LabVIEW与三菱全系列通讯方案及上位机读取方法详解
题目:基于51单片机的多参数水质监测与报警系统设计 主控:AT89C51 显示:LCD1602 DS18B20温度传感器 浊度传感器(PCF8591+滑动变阻器模拟) PH传感器(ADC0832+滑动变阻器) 声光报警 led*4 功能: 1.实时检测水质温度、浊度、PH 2.实时显示相关数据 3.可以通过按键修改阈值 4.各数值不在标准范围内启动声光报警 5.ph低于下限红色小灯点亮;ph高于上限绿色小灯电亮;温度低于阈值蓝色小灯电亮;浑浊度高于阈值橙色小灯电亮
在B站看黑马程序员视频,整理的个人笔记
java项目之水果系统源码
Office_Tool_with_runtime_v10.14.28.0_x64.zip.rar