在Linux上如何学习Objective-C

如果想学习OC却苦于没有MAC电脑的同学,可以试着以下方法来解决

我们利用GNUstep学习Objective-C

第一步:安装需要的软件和编译环境

sudo apt-get install gnustep
sudo apt-get install gnustep-devel

第二步:写第一个OC代码

#import <Foundation/Foundation.h>
int main (int argc, const char * argv[])
{
        NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
        NSLog (@"hello world");
        [pool drain];
        return 0;
}
/*
PS::
需要注意一点:Objective-C2.0 里 
将 
NSAutoreleasePool *pool = [NSAutoreleasePool alloc] init]; 和 [pool drain]; 
换成了 
“@autoreleasepool { }" , 
如果只是想在ubuntu里学习一下Objective-C编程, 
可以不写NSAutoreleasePool、 [pool drain];这两行代码,也不报错!
*/
第三步:编译

gcc `gnustep-config --objc-flags` -lgnustep-base hello.m -o hello

如果编译过程中出现以下错误

gcc: error trying to exec ‘cc1obj‘: execvp: No such file or directory

运行以下命令

sudo apt-get install gobjc

再次编译后运行

./hello

Executing the program will result in output similar to the following:

2009-09-15 10:48:39.772 prog1[12906] hello world

小技巧:

每次编译总是要写一大串

gcc `gnustep-config --objc-flags` -lgnustep-base .m源文件 -o 生成的可执行文件

这里简化一下,写一个makefile,代码如下:

app:$(s)
        gcc `gnustep-config --objc-flags` $(s) -o app -lgnustep-base -lobjc 
clean: 
        rm *.d 
        rm app

每次执行都需要

make s=.m源文件名 
//运行:
./app

//再次编译之前需要
make clean
时间: 2024-08-01 11:31:23

在Linux上如何学习Objective-C的相关文章

redis数据库在linux上的学习

redis数据库在linux上的学习 1.redis安装方式 yum安装(提前配置好yum源) yum install redis -y 源代码编译安装 rpm包手动安装 2.编译安装redis 1.下载redis源代码包 wget http://download.redis.io/releases/redis-4.0.10.tar.gz 2.解压缩redis源码包 3.编译三部曲 指定安装路径 ,生成makefile 编译文件 ./configure --prefix=redis的安装路径 开

分布式缓存技术redis学习系列(一)——redis简介以及linux上的安装

redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssdb,mongodb等.既可以把redis理解为理解为缓存技术,因为它的数据都是缓存在内从中的:也可以理解为数据库,因为redis可以周期性的将数据写入磁盘或者把操作追加到记录文件中.而我个人更倾向理解为缓存技术,因为当今互联网应用业务复杂.高并发.大数据的特性,正是各种缓存技术引入最终目的. 关于r

分布式缓存技术redis学习(一)——redis简介以及linux上的安装

redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssdb,mongodb等.既可以把redis理解为理解为缓存技术,因为它的数据都是缓存在内从中的:也可以理解为数据库,因为redis可以周期性的将数据写入磁盘或者把操作追加到记录文件中.而我个人更倾向理解为缓存技术,因为当今互联网应用业务复杂.高并发.大数据的特性,正是各种缓存技术引入最终目的. 关于r

Hadoop的学习前奏(一)——在Linux上安装与配置Hadoop

前言 笔者眼下是在做Android开发,又是在一个信息安全的公司.公司的主要是做在虚拟机上运行的产品,又涉猎云计算,心想是要去搞一下云计算.自我感觉移动互联网 + 云计算 + 信息安全会是一个非常好的方向,于是投身当中. 由于是Java出身.所以自然而然选择了Hadoop. 笔者系统环境 Linux:  CentOS release 6.5 (Final)JDK:    java version "1.7.0_75"        OpenJDK Runtime Environment

Hadoop的学习前奏——在Linux上安装与配置Hadoop

前言: 笔者目前是在做Android开发,又是在一个信息安全的公司.公司的主要是做在虚拟机上运行的产品,又涉猎云计算,心想是要去搞一下云计算.自我感觉移动互联网 + 云计算 + 信息安全会是一个很好的方向,于是投身其中.因为是Java出身,所以自然而然选择了Hadoop. 笔者系统环境: Linux:  CentOS release 6.5 (Final) JDK:    java version "1.7.0_75" OpenJDK Runtime Environment (rhel

linux上安装nodejs(想在linux上学习nodejs的可以来看看)

说明: 使用CentOS系统,进行nodejs安装,nodejs版本-v0.8.7. 1,先下载nodejs: # wget http://nodejs.org/dist/v0.8.7/node-v0.8.7.tar.gz 2,解压文件 # tar xvf node-v0.8.7.tar.gz 3,进入解压目录 # cd node-v0.8.7 4,检查所需要配置 # ./configure 出现错误提示: Exception: Call to '(echo | $(echo ${CXX_hos

mongo学习笔记(六):linux上搭建

linux分以下几台 monogos 192.68.68.89:790 mongocfg 192.68.68.89:890 mongod1 192.68.68.89:990 mongod2 192.68.68.89:1090 1.用ssh把 mongodb-linux-x86_64-3.0.6.tgz 移到linux /root上 2.解压到/root/mongodb-3.0.6/ tar zxf mongodb-linux-x86_64-3.0.6.tgz 3.添加data和log文件夹 mk

linux 命令 及学习进度综合整理

linux  命令  及学习进度综合整理 pwd 查看当前所在位置 cd  跳转到什么什么目录 ls  显示所有文件和目录 ls -l  显示目录详细信息 cd ..  返回上一级 vi  lnany.txt  创建一个文件 vi  .lnany.txt    创建一个隐藏文件 vim 是 vi 的升级版 功能更多 出现 -bash: vim: command not found 的解决办法 i. 那么如何安裝 vim 呢?输入rpm -qa|grep vim 命令, 如果 vim 已经正确安裝

怎么使用Python和Flask在Linux上创建应用

无论你在linux上娱乐还是工作,这对你而言都是一个使用python来编程的很好的机会,也是一个从零基础开始学习python开发(http://www.maiziedu.com/course/python/)的一个好机会,pyhon学起来很有趣且在实际的应用如yum包管理器中很有用. 给大家分享一个关于很赞的教程贴,本篇教程会带你使用python和一个称为flask的微型框架来构建一个简单的应用,来显示诸如每个进程的内存使用,CPU百分比之类有用的信息. 前置需求 Python基础.列表.类.函