黑马程序员---01基本语法
2014-11-07 10:37
120 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一、OC简介
C语言基础上,增加了一层最小的面向对象语法(C语言是面向过程的)
完全兼容C语言
可以在OC代码中混入C语言代码,甚至是C++代码(不过新建的文件名有区别,.c文件只能写C语言代码,.m文件可以写C和OC代码,.mm文件可以写C和OC还有C++代码)
可以使用OC开发Mac OS X平台和iOS平台的应用程序
二、OC语法预览
1.关键字:基本上所有的关键字都是以@开头,常见关键字如下:
@interface @implementation @end @public @protected @private @selector @try @catch @throw @finally @protocol @property @synthesize @dynamic
self super id _cmd _block _strong _weak
2.与C语言不同,字符串是以@开头
比如@“hello”是OC中的字符串,而“hello”则是C语言中的字符串
3.其他语法
1⃣️基本数据类型:char、int、float、double、BOOL(YES/NO)
2⃣️nil 相当于C语言中的NULL,也就是0
3⃣️基本语句:循环语句、条件语句等与C语言一样
4⃣️注释: // 和 /*...*/
�️屏幕输出:NSLog(@"hello");NSLog(@"age is %i",27);
三、OC程序的开发过程
与C语言类似:
.m源文件 ------->编译后生成.o目标文件------->链接生成a.out可执行文件
四、第一个OC程序
五、第二个OC程序
用OC进行多文件编译之两个OC.m文件(one.m two.m)的编译连接过程
新建一个one.m文件
不使用Xcode高级功能的情况下,使用终端进行编译
指令: cc -c one.m 会生成 one.o文件
指令: cc -c two.m 会生成 two.o文件
然后进行链接:指令: cc one.o two.o -framework Foundation
得到a.out 可执行文件,指令:./a.out 执行结果为:调用了test函数
七、第四个OC程序
用OC进行多文件编译之一个OC.m文件一个C.c文件(one.m two.c)的编译连接过程
新建一个one.m文件
不使用Xcode高级功能的情况下,使用终端进行编译
指令: cc -c one.m 会生成 one.o文件
指令: cc -c two.c 会生成 two.o文件
然后进行链接:指令: cc one.o two.o
得到a.out 可执行文件,指令:./a.out 执行结果为:调用了test函数
八、多文件编译的运行过程总结
以.c文件和.m文件为例
1>编写OC源文件:.m、.c
2>编译:cc -c xxx.m xxx.c
3>链接:cc xxx.o xxx.o -framework Foundation
(注意:只有用到了Foundation框架才需要加上-framework Foundation)
4>运行:./a.out
一、OC简介
C语言基础上,增加了一层最小的面向对象语法(C语言是面向过程的)
完全兼容C语言
可以在OC代码中混入C语言代码,甚至是C++代码(不过新建的文件名有区别,.c文件只能写C语言代码,.m文件可以写C和OC代码,.mm文件可以写C和OC还有C++代码)
可以使用OC开发Mac OS X平台和iOS平台的应用程序
二、OC语法预览
1.关键字:基本上所有的关键字都是以@开头,常见关键字如下:
@interface @implementation @end @public @protected @private @selector @try @catch @throw @finally @protocol @property @synthesize @dynamic
self super id _cmd _block _strong _weak
2.与C语言不同,字符串是以@开头
比如@“hello”是OC中的字符串,而“hello”则是C语言中的字符串
3.其他语法
1⃣️基本数据类型:char、int、float、double、BOOL(YES/NO)
2⃣️nil 相当于C语言中的NULL,也就是0
3⃣️基本语句:循环语句、条件语句等与C语言一样
4⃣️注释: // 和 /*...*/
�️屏幕输出:NSLog(@"hello");NSLog(@"age is %i",27);
三、OC程序的开发过程
与C语言类似:
.m源文件 ------->编译后生成.o目标文件------->链接生成a.out可执行文件
四、第一个OC程序
// 新建一个OC程序,01第一个OC程序.m #include <stdio.h> int main() { printf("第一个OC程序!\n"); return 0; }说明:OC程序.m文件完全兼容C程序
五、第二个OC程序
// 新建第二个OC程序,02第2个OC程序.m /* 主头文件:最重要的头文件 在OC中一个框架中的主头文件包含了该框架中其他所有头文件的声明 #import的用途: 1.跟#include一样,拷贝文件的内容 2.可以自动防止文件的内容被多次拷贝 */ // NSObjCRuntime.h中包含NSLog函数的声明 // #import <Foundation/NSObjCRuntime.h> // 主头文件名与框架名一模一样,后缀为.h,<span style="font-family: Arial, Helvetica, sans-serif;">只需要包含Foundation框架中的主头文件,</span>就可以使用整个框架中的东西 // 在Xcode 6.0.1中,Foundation框架的具体路径为/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks #import <Foundation/Foundation.h> int main() { // NSLog是日志式输出,且输出内容会自动换行 NSLog(@"第2个OC程序!"); return 0; }六、第三个OC程序
用OC进行多文件编译之两个OC.m文件(one.m two.m)的编译连接过程
新建一个one.m文件
#import <Foundation/Foundation.h> #import "two.h" int main() { test(); return 0; }新建一个two.m文件
#import <Foundation/Foundation.h> void test() { NSLog(@"调用了test函数"); }再新建一个声明test函数的头文件two.h
void test();
不使用Xcode高级功能的情况下,使用终端进行编译
指令: cc -c one.m 会生成 one.o文件
指令: cc -c two.m 会生成 two.o文件
然后进行链接:指令: cc one.o two.o -framework Foundation
得到a.out 可执行文件,指令:./a.out 执行结果为:调用了test函数
七、第四个OC程序
用OC进行多文件编译之一个OC.m文件一个C.c文件(one.m two.c)的编译连接过程
新建一个one.m文件
#import "two.h" int main() { test(); return 0; }新建一个two.c文件
#include <stdio.h> void test() { printf("调用了test函数\n"); }再新建一个声明test函数的头文件two.h
void test();
不使用Xcode高级功能的情况下,使用终端进行编译
指令: cc -c one.m 会生成 one.o文件
指令: cc -c two.c 会生成 two.o文件
然后进行链接:指令: cc one.o two.o
得到a.out 可执行文件,指令:./a.out 执行结果为:调用了test函数
八、多文件编译的运行过程总结
以.c文件和.m文件为例
1>编写OC源文件:.m、.c
2>编译:cc -c xxx.m xxx.c
3>链接:cc xxx.o xxx.o -framework Foundation
(注意:只有用到了Foundation框架才需要加上-framework Foundation)
4>运行:./a.out
相关文章推荐
- 黑马程序员_SQL基本语法
- 01---jsp基本语法04(跳转指令)
- 黑马程序员---基本语法(一)
- 黑马程序员_ios基础总结3_C语言基本语法二
- 黑马程序员_ios基础总结2_C语言基本语法一
- 01-CSS样式表的基本语法-20080520
- 黑马程序员_Java基础01_基础语法
- 黑马程序员——JAVA基础之(基本语法)
- 黑马程序员--05.类加载器--01【类加载器基本知识】【类加载器的委托机制】
- 黑马程序员_ios基础总结5_C语言基本语法四
- 01---jsp基本语法02(page指令)
- 黑马程序员-javascript基本语法
- 黑马程序员——java编程那些事儿____java基础(二) java基本语法
- 黑马程序员-JAVA基本的语法概念和常识
- 黑马程序员--03.Java面向对象--01.【OOP基本概念】【匿名对象】【封装】【构造函数】【this关键字】
- .Net_01_建库建表的基本语法(Sql 语句)
- 01---jsp基本语法03(包含指令)
- 【PHP】基础笔记 01 —— 基本语法
- Clojure教程-基本语法-01
- 黑马程序员_ios基础总结6_C语言基本语法五