iOS App开发 OC 第四天, OC 的基础语法 & 编译,链结,执行

从Swift 到 OC 第四天, OC 的基础语法 & 编译,链结,执行

tags: OC 30 day

基础语法

  1. oc 的副档名
  2. main 函数
  3. import 指令
  4. NSLog 函数

oc 的副档名

oc 的原文件副档名为 .m,m代表message 代表oc中最重要的一个机制,消息机制。

main 函数仍是OC程序的入口以及出口

int 类型的返回值,代表程序的结束状态。
main函数的参数:仍然可以接收用户在运行程序时传递数据给程序。
参数也可以不要。

import 指令

  1. 以#为开头。
  2. 作用: 为include 加强版
  3. 一个文件无论 import 多少次只会包含一次。

NSLog 函数

  1. 作用:printf 的增强版
  2. 语法:NSLog(@"格式控制字符串",变量列表);
    最简单的语法: NSLog(@"要输入的字符串");

编译,链结,执行

Let's start

1. 在 .m 文件中写上符合OC语法规范的源代码。

cd 到一个资料夹

建立一个OC的文件

touch main.m

执行该文件

导入 Foundation的框架

#import <Foundation/Foundation.h>

main 函数

int main(){
return 0;
}

在main 函数中放入一个NSLog

NSLog(@"测试");

完成後应该要长这样

2. 使用编译器将源代编译为目标文件

编译时,到底做了哪些事情呢?

  1. 预处理
  2. 检查代码
  3. 编译
cc -c xx.m

3. 链接

cc xx.o


这个时候居然报错了

为什麽呢?

如果程序中使用到了框架的函数或者类,那麽在链结的时候,就必须要告诉编译器要去哪一个框架中找到这个函数或者类。

如何做到呢?

cc xx.o -framework 框架名称

cc main.o -framework Foundation

执行

 ./a.out

4. 链结成功後,就会生成一个a.out的副文件,执行就可以了。

以上的过程 Xcode 都会自动帮我们完成,我们只需要了解这些过程就行了


<<:  Day53. 中介者模式

>>:  [资料库] 学习笔记 - 时间函数 和 群组

[Python] os.walk()

os.walk() !ls import os PATH = '/content/kaggle/in...

Day 30: 实作个 eslint plugin

这篇的完整的程序可以到 https://github.com/DanSnow/ironman-20...

Day 22网路程序设计

Android常用的网路函数库有HttpClient、HttpUrlConnection、Volle...

【Day8】 Introduction – while & for

紧接着,我们就要来介绍 while、for 回圈啦!但是在介绍之前,要先提到一些基本但常用的运算子。...

Youtube Reports API 教学 - 最後一次做 OAuth2.0 授权

「鲑鱼均,因为一场鲑鱼之乱被主管称为鲑鱼世代,广义来说以年龄和脸蛋分类的话这应该算是一种 KNN 的...