iOS Objective-C和C、C++混编,最简单的办法是直接将要调用C、C++代码的.m文件改成.mm文件。
1、Objective-C和C混编,如果C方法写在.m文件内部,我们直接调用即可。
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
// C语言函数
int sum(int x, int y)
{
return x + y;
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
// 调用C函数
int sumValue = sum(1, 2);
NSLog(@"sumValue = %d", sumValue);
}
1、Objective-C和C++混编,这里有一个C++类,Caculator计算器类,这里实现了一个减法。
Caculator.hpp
#ifndef Caculator_hpp
#define Caculator_hpp
#include <stdio.h>
class Caculator
{
public:
int sub(int x, int y);
};
#endif /* Caculator_hpp */
Caculator.cpp
#include "Caculator.hpp"
int Caculator::sub(int x, int y)
{
return x - y;
}
ViewController.mm
#import "ViewController.h"
#include "Caculator.hpp"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
// 调用C++函数
Caculator caculator;
int subValue = caculator.sub(10, 2);
NSLog(@"subValue = %d", subValue);
}
@end