Object_c基础——oc程序与C语言程序开发过程的异同简单认识

来源:互联网 发布:yum安装hba卡rpm包 编辑:程序博客网 时间:2024/05/16 05:54


1、  OC程序的开发过程

与C语言类似:

先把.m源文件编译成.o目标文件,然后再把编译好的.o目标文件经过链接形成.out可执行文件。

  终端指令

1> 编译cc –cmain.m

2> 链接cc main.o –framework Foundation  引用Foundation  框架,没有使用Foundation框架的话,就不用-framework Foundation

3> 运行./a.out


2、 NSLog与printf的区别

1>NSLog接收OC字符串作为参数,printf接收C语言字符串作为参数

2>NSLog输出后会自动换行,printf输出后不会自动换行

3>使用NSLog需要#import <Foundation/Foundation.h>

4>使用printf需要#include<stdio.h>



2、 #import的作用与printf的区别

1>跟#include一样,用来拷贝某个文件的内容

2>可以自动防止文件内容被拷贝多次,也就意味着头文件中不用加入下面的预处理指令了

#ifndef    _STDIO_H_

#define   _STDIO_H_

#endif

即如果已经定义了 _STDIO_H_文件就不需要再拷贝了


3、 Foundation框架的作用

1> 开发OC、iOS、Mac程序必备的框架

2> 此框架中包含了很多常用的API(应用编程接口)

3>框架中包含了很多头文件,若想使用整个框架的内容,包含它的主头文件即可

#import <Foundation/Foundation.h>



4、 BOOL的使用

1>BOOL类型的本质

typedef signed char BOOL;

2>BOOL类型的变量有2种取值:YES、NO

本质定义如下:

#define YES (BOOL)1

#define NO  (BOOL)0

3>BOOL的输出(当做整数来用)

NSLog(@"%d%d", YES, NO);


5、多文件开发(与C语言一样)

5.1 多个.m文件的开发

1>编写三个文件  

main.m#import "one.h"int main(){    test();    return 0;}


one.hvoid test();


one.m#import <Foundation/Foundation.h>void test(){    NSLog(@"调用了test函数");}


2>

终端指令

2.1>编译:cc –c main.m one.m

2.2>链接:cc main.o  

one

.o –framework Foundation

2.3>运行:./a.out


5.2 .m文件和.C文件的混合开发

1>编写三个文件  

main.m#import "one.h"int main(){    test();    return0;}


one.hvoid test();


one.c#include<stdio.h>void test(){    printf("调用了test函数\n");}



2>

终端指令

2.1>编译:cc –c main.m one.c

2.2>链接:cc main.o one.o

2.3>运行:./a.out








0 0