———Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ———
2、.m文件和.c文件混用开发
(1)编写3个文件
one.m 代码如下:
1 //将two.h头文件拷贝至此 2 #import "two.h" 3 int main(int argc, const char * argv[]) 4 { 5 //调用test函数 6 test(); 7 return 0; 8 }
two.h 代码如下:
1 //test函数的声明 2 void test();
two.c 代码如下:
1 //因为使用了printf函数,所以将stdio.h拷贝至此 2 #include <stdio.h> 3 //test函数的定义(实现) 4 void test() 5 { 6 printf("调用了test函数\n"); 7 }
(2)终端指令
- 编译:cc –c one.m two.c
- 链接:cc one.o two.o
这里必须同时链接 one.o 和 two.o文件
由于没有引入Foundation框架,这里不需要加上-framework Foundation
- 运行:./a.out
(3)程序分析:
- two.h文件中对test函数进行了声明(声明一般写在.h头文件中)。
- two.c文件中对test函数进行了定义。
- cc one.o two.o
两个.o文件必须同时进行链接,因为one.m缺少test函数的定义,two.c缺少main函数的定义
由于没有引入Foundation框架,这里不需要加上-framework Foundation
- one.m引入了two.h头文件(即拥有了test函数的声明),故可调用test函数。
时间: 2024-10-10 13:17:21