最近在学习C++,了解到C++和OC都是C的超集,之前试过了OC能调用C中的方法,也应该可以调用C++中的方法,因此,在此记录下,有需要的同学也可以试下。
1、新建一个Test.hpp头文件,此时XCode会同时建一个对应的后缀名为.cpp的文件。如下图:

在Test.hpp中新增一个方法,代码如下:
//
// Test.hpp
// TestOcUseCpp
//
// Created by andrew on 2021/7/8.
//
#ifndef Test_hpp
#define Test_hpp
#include <stdio.h>
#endif /* Test_hpp */
int addTwoNumber(int a, int b);
在Test.cpp中实现头文件的方法,代码如下:
//
// Test.cpp
// TestOcUseCpp
//
// Created by andrew on 2021/7/8.
//
#include "Test.hpp"
/**
两个数求和
*/
int addTwoNumber(int a, int b){
return a + b;
}
2、在main.m中使用C++的方法,代码如下:
//
// main.m
// TestOcUseCpp
//
// Created by andrew on 2021/7/8.
//
#import <Foundation/Foundation.h>
#import "Test.hpp"
int main(int argc, const char * argv[]) {
@autoreleasepool {
//测试Oc中使用c++的方法
int result = addTwoNumber(2, 5);
NSLog(@"两个数求和结果%d", result);
}
return 0;
}
此时运行代码,XCode提示如下:
这时,我们把main.m文件的后缀名改为.mm既可,然后运行就可以看到日志输入了,如下图:

本文介绍了如何在Objective-C项目中调用C++的方法,通过创建Test.hpp和Test.cpp文件,定义并实现了一个求和函数addTwoNumber。在main.m文件中,将后缀改为.mm并引入相应头文件后,成功调用了C++的函数,并在控制台打印了结果。这是一个Objective-C与C++混编的简单示例。

1万+

被折叠的 条评论
为什么被折叠?



