@font-face { font-family: "Times New Roman"; }@font-face { font-family: "宋体"; }p.p0 { margin: 0pt; text-align: justify; font-size: 10.5pt; font-family: "Times New Roman"; }div.Section0 { page: Section0; }
1.简单查看一下版本(基本在12.04以上)
cat /etc/lsb-release
2.安装GUNstep(一些包是必须要安装的build-essential gobjc gobjc++ gnustep-dev)
sudo aptitude install build-essential gobjc gobjc++ gnustep gnustep-devel libgnustep-base-dev -y
注:出现的问题:aptitude command not found
解决方法:sudo apt-get install aptitude,再sudo aptitude install ,再执行上面的语句
3.在linux终端下打开vi编辑一个测试程序文件名为test.m
#import <Foundation/Foundation.h>
int main(int argc, const char *argv[])
{
NSLog(@"hello,world");
return 0;
}
4.对测试文件进行编译
编译:gcc `gnustep-config --objc-flags` test.m -o app -lgnustep-base -lobjc
执行:./app
由于gcc需要写这么长一堆东西是程序员不愿意干的,一般我们更愿意写一个makefile文件在当前目录下去运行该测试程序.
5.编写makefile
app:$(s)
tab键gcc `gnustep-config --objc-flags` $(s) -o app -lgnustep-base -lobjc
clean:
tab键rm *.d
tab键rm app
注意:在每个命令前需要加上一个TAb键
运行可执行文件:(1)make s=test.m (2)./app
6.清除可执行文件及附属文件
make clean
7.程序的基础介绍:
(1) 在<Foundation/Foundation.h>中,尖括号表示告诉预处理器在系统标准目录中寻找文件,"/"在UNIX系统中表示目录层级,所以这里是要导入Foundation框架中的Foundation.h头文件。
(2) Main中的参数寓意与C语言中相同,argc表示参数的个数,argv表示一个参数数组,如argv[0]表示在命令行第一个可执行文件
(3) NSLog在这基础的学习我们可以把它当成C语言当中的printf;
(4) @是转换成OC字符串的一种用法.支持中文
(5) #import是#include的一种升级,防止头文件多重包含