手动创建第一个OC程序

简介: 手动创建第一个OC程序 创建一个文件夹,文件夹内创建一个a.m的OC源文件,并编辑 之前说过,OC是完全兼容C语言的,那么我们先写个下面的程序尝试一下#incl...

手动创建第一个OC程序

创建一个文件夹,文件夹内创建一个a.m的OC源文件,并编辑

P1

之前说过,OC是完全兼容C语言的,那么我们先写个下面的程序尝试一下

#include<stdio.h>

int main(){
    printf("这是kongqw的第一个OC程序");
    return 0;
}

运行

  • 编译,生产.o目标文件

    cc -c a.m
  • 链接,生成可执行文件

    cc a.o
  • 运行

    ./a.out

P2

由上可见,OC与C语言是完全兼容的,OC的源文件也可以写C语言代码


下面再使用OC的语法输出一段文字

  • 编辑源文件

    
    #import <Foundation/NSObjCRuntime.h>
    
    
    int main(){
        NSLog(@"我是使用OC语法输出的一段文字");
        return 0;
    }
  • 编译源文件,生成.o目标文件

    cc -c a.m
  • 链接,生成.out可执行文件

    这里要格外注意一点,链接的时候要使用framework参数加入Foundation框架

    原因很简单,正常不加参数的时候,我们是写C语言代码,默认会给我们链接C的库,现在我们写的是OC的程序,OC给我们封装了很多他们自己的库,默认是不会给我们链接进去的,所以需要我们手动加入,如果不加,链接会报错,找不到链接

    cc a.o -framework Foundation

P3


以上都是一个源文件的情况,真正的项目中也不可能只有一个源文件,那么如果有多个源文件,我们怎么一起编译呢?

在这里,我们重新创建几个OC的源文件,如下

  1. 编辑

    • a.m 程序入口

      
      #import "b.h"
      
      
      int main(){
          funInB();
          return 0;
      }
    • b.m

      
      #import <Foundation/NSObjCRuntime.h>
      
      void funInB(){
          NSLog(@"调用了B里面的方法");
      }
    • b.h b的头文件

      void funInB();
  2. 编译

    cc -c a.m b.m
  3. 链接

    cc a.o b.o -framework Foundation
  4. 运行

    ./a.out

P4

include与import的区别

区别很简单,C语言都是用include,OC添加的import,可以自动给我们去重,就不用我们再操心是不是include重复了,写OC程序就直接使用import就好了

技巧

以后我们写IOS的程序,工程肯定会很庞大,XCode给我们提供的了很多的框架,有很多很多的库,那么我们用到多少库就要import多少个库吗?
很显然不用,每个库有一个主头文件,命名与框架命名一样,例如:

#import <Foundation/Foundation.h>
相关文章
|
1月前
|
C语言 C++
第一个c语言程序
第一个c语言程序
|
1月前
|
Java C# 开发工具
第一个C#程序
第一个C#程序
|
1月前
|
Unix 编译器 C语言
Hello World!—— 属于我们的第一个C语言程序
C语言最早是由贝尔实验室的Dennis Ritchie为了UNIX的辅助开发而编写的,它是在B语言的基础上开发出来的。尽管C语言不是专门针对UNIX操作系统或机器编写的,但它与UNIX系统的关系十分紧密。由于它的硬件无关性和可移植性,使C语言逐渐成为世界上使用最广泛计算机语言。 为了进一步规范C语言的硬件无关性,1987年,美国国家标准协会(ANSI)根据C语言问世以来各种版本对C语言的发展和扩充,制定了新的标准,称为ANSI C。ANSI C语言比原来的标准C语言有了很大的发展。目前流行的C语言编译系统都是以它为基础的。
59 0
Hello World!—— 属于我们的第一个C语言程序
|
小程序 开发工具 开发者
【小程序】第一个小程序——创建小程序项目
【小程序】第一个小程序——创建小程序项目
118 0
【小程序】第一个小程序——创建小程序项目
|
编译器 Serverless C语言
第一个C语言程序(从Hello World开始)
第一个C语言程序(从Hello World开始)
第一个C语言程序(从Hello World开始)
头文件循环包含,导致找不到定义的类
头文件循环包含,导致找不到定义的类
97 0
|
Java Maven
编写一个 spootboot 程序,有二个方法,一个问早上好,一个说再见
编写一个 spootboot 程序,有二个方法,一个问早上好,一个说再见
120 0
|
SQL Java 数据库连接
第一个JDBC程序
第一个JDBC程序
|
Java 编译器 Linux
第一个程序
一、C语言被淘汰了吗? 二、编程是做什么的 三、机器码 四、汇编语言 五、C语言 六、使用C语言编程 七、C语言的优势 八、第一个程序
第一个程序