1. 程式人生 > >object-c 混編 呼叫C,C++介面

object-c 混編 呼叫C,C++介面

xcode 支援 object-c 混編,在object-c 中呼叫c,c++介面

第一步 定義c語言 介面(File.c)

#include <stdio.h>
void printsByC(){
    printf("呼叫C語言。");
}

第二步 定義c++ 介面

student.h檔案

#ifndef __test_hun__student__
#define __test_hun__student__

#include <iostream>

#endif /* defined(__test_hun__student__) */

student.cpp檔案

#include "student.h"
using namespace std;

class Student{
public:
    void getWeight(){
        cout<<"Object C與C++混合程式設計。體重為:"<<weight<<"kg";
        printf("呼叫C++語言。getWeight");
    }
    void setWeight(int x){
        weight = x;
        printf("呼叫C++語言。setWeigth");
    }
    
private:
    int weight;
};

第三步 將 object-c  implementation檔名 .m 改稱.mm 告訴編譯器 混編

下面的例子是 object-c 呼叫介面

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    printf("呼叫C語言。");
    Human human;
    human.setWeight(26);
    human.getWeight();
    
    Student *student=new Student();
    student->getWeight();
    delete student;
}