Chinaunix首页 | 论坛 | 博客
  • 博客访问: 835712
  • 博文数量: 117
  • 博客积分: 2595
  • 博客等级: 少校
  • 技术积分: 1204
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-18 18:16
文章分类

全部博文(117)

文章存档

2013年(1)

2012年(2)

2011年(18)

2010年(95)

2009年(1)

分类: C/C++

2010-04-05 15:10:37

Object C 开发基础

一、配置环境

如果是在Mac OS X 下就是 Xcode了,apple.com上有下载,应该是不到3GB 吧。。
如果是在其他环境,如Win下,就是GNUStep了,我的是Win32,那就安装GNUstep System和GNUstep core这样就有了Mingw的gcc编译器和ObjectC的头文件 Foundation以及Apple kit等的头文件了.
然后写个gcc.sh(从其他人那里学的,其实挺方便,至于原创就不知道了)

#!/bin/sh
if [ $# -ne 1 ]; then
    echo "Usage: $0 name"
    exit 1
fi


gcc --$1.exe $1 \
-fconstant-string-class=NSConstantString \
-/GNUstep/System/Library/Headers/ \
-/GNUstep/System/Library/Libraries/ \
-lobjc \
-lgnustep-base
 
exit 0

再写个makem.sh,我原创的,为了方便,制作一个m文件的模板

#!/bin/sh

#判断没有参数

if [ $# -ne 1 ]; then

    echo "Usage: $0 FileName.m"

    exit 1

fi

#以下是判断存在文件的情况

if [ -f $1 ];then

    echo "Warnning: 存在$1文件,是否替换?[y/n]"

    read select

    echo "if [ \"$select\" = \"n\" -o \"$select\" = \"N\" ];then"

    if [ "$select" = "n" -o "$select" = "N" ];then

        echo Not Write the file $1..

        exit 0

    fi

fi

#以下是在满足条件下,生成模板

echo "#import ">$1

echo "">>$1

echo "int main(int argc,const char *argv[])">>$1

echo "{">>$1

echo "    ">>$1

echo "}">>$1

echo Having make $1 object M File

exit 0




运行make hello.m ;然后vi或者其他编辑器打开hello.m,添加NSLog(@"Hello,world");
运行gcc.sh hello.m
有点提示,但不是错误,然后ls,看看有了hello.m.exe,执行./hello.m.exe

Administrator@AYANMW-XP ~/
$ gcc.sh hello.m
Info: resolving ___objc_class_name_NSConstantString by linking to __imp____objc_
class_name_NSConstantString (auto-import)
e:/gnustep/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe:wa
rning: auto-importing has been activated without --enable-auto-importspecified
on the command line.
This should work unless it involves constant data structures referencing symbols
 from auto-imported DLLs.

Administrator@AYANMW-XP ~/
$ ./hello.m.exe
2010-04-05 15:09:26.899 hello.m[3852] hello,world



二、开始ObjectC学习

我看着Objective-C基础教程(Learn Objective-C on the Mac)这本书学习,图形界面暂时不考虑,不知道GNUstep可以开发图形界面不..也不知道有没有图形IDE for objectC By GNUstep.
    --Insert
    看了我的另一篇文章,应该就可以知道,GNUstep当然有图形界面编辑器了,还有项目管理app,就是Gorm和ProjectCenter,这对于学习这个开发来说实在是太重要了!!
   
    再提供一个GNUstep官方的swf视频,共11mb,可在url去掉文件名可以查看服务器的文件(然后单独下载那个swf文件,我认为应该多点这样的教程,太好了!):


    这个swf视频demo教程需要用到GNUstep基本环境,Gorm和ProjectCenter应用程序app.


阅读(3411) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~