`
wenxin2009
  • 浏览: 316283 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Object-C、C、C++混合编程

    博客分类:
  • ios
阅读更多

Object-C与C++、C进行混合编程,采用将C++对象包装成Object-C对象,再给Object-C其他对象使用,Object-C的代码要使用C++的对象时,需要将.m文件改为.mm文件扩展名。

以下为示例代码,需添加libstdc++.6.dylib包。(附件中有工程实例):

CLanguage.c

//
//  CLanguage.c
//  CCTest
//  C语言
//  Created by  on 12-11-22.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#include <stdio.h>

void doSomething(){
    printf("调用C语言。");
}

 CLibrary.h

//
//  CLibrary.h
//  CCTest
//  C++代码
//  Created by  on 12-11-22.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#ifndef CCTest_CLibrary_h
#define CCTest_CLibrary_h

#include <iostream>

#endif

 CLibrary.cpp

//#include <iostream>
#include "CLibrary.h"
using namespace std;
class Human{
    public:
    void getWeight(){
        cout<<"Object C与C++混合编程。体重为:"<<weight<<"kg";
    }
    void setWeight(int x){
        weight = x;
    }
    
    private:
    int weight;
};


 

ViewController.mm,调用测试

#include "CLibrary.cpp"
#include "CLanguage.c"

- (void)viewDidLoad
{
    [super viewDidLoad];
    //集成C和C++能将ios用户界面与传统代码集成起来,实现更强大的功能
	//调用C++
    Human human;
    human.setWeight(26);
    human.getWeight();
    //调用C
    doSomething();
}
 

 

分享到:
评论

相关推荐

    object-c和c++混合编程的项目研究

    将 Objective-C 和 C++ 结合起来进行混合编程可以带来许多优势,特别是在需要高性能和灵活性的项目中。这种混合编程通常发生在 iOS 或 macOS 开发中,因为 Objective-C 是苹果平台的主要编程语言之一,而 C++ 则提供...

    python与C++混合编程可用.pdf

    Python 与 C++ 混合编程可用 Python 与 C++ 混合编程是一种非常有用的技术,它可以将 Python 的灵活性和 C++ 的高性能相结合,实现高效、灵活的编程模型。本文将详细介绍 Python 与 C++ 混合编程的实现方法和关键...

    OC-Cpp:Objective-C++ C++混合编程

    1.在object-c++类中调用c++类 1)ViewController.m---&gt;ViewController.mm 2)#import "OcCallCpp.h" 3)OcCallCpp.h引入C++类头文件,#include "MyCppClass.h" 4)OcCallCpp.m---&gt;OcCallCpp.mm 2.在c++类中调用...

    QML与C++混合编程.pdf

    基于JavaScript陈述性语言:QML (Qt Meta-Object Language的缩写) 用于管理组件并与组件交互的C++ API - QtDeclarative模块 言归正传:通过Qt Creator,我们可以轻松生成一个Qt Quick的应用工程,从而为QML生成...

    代码语法错误分析工具pclint8.0

    PCLint识别并报告C语言中的编程陷阱和格式缺陷的发生。它进行程序的全局分析,能识别没有被适当检验的数组下标,报告未被初始化的变量,警告使用空指针,冗余的代码,等等。软件除错是软件项目开发成本和延误的主要...

    Delphi-Java Bridge-开源

    使在 Delphi(即 Borland Object Pascal)和 Java 中进行混合语言编程变得可行的代码。 当前包含 JNI 包装器代码,以便更轻松地使用 Delphi 而不是 C/C++ 与 JNI(Java 本机接口)。

    C#微软培训资料

    18.2 在 C #代码中调用 C++和 VB 编写的组件 .240 18.3 版 本 控 制 .249 18.4 代 码 优 化 .252 18.5 小 结 .254 第五部分 附 录 .255 附录 A 关 键 字.255 附录 B 错 误 码.256 附录 C .Net 名字空间...

    第章java语言概述2022优秀文档.ppt

    Java语言的发展经历了多个阶段,从1967年的Simula语言到1980年的Smalltalk-80,再到20世纪80年代中期的繁荣阶段,涌现了许多面向对象语言,如C++、Object Pascal、COLOS等。Java语言的前身是OAK语言,由Sun公司James...

    java开源包1

    ,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 ...

    java开源包10

    ,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 ...

    Python 36 道面试题及答案.docx

    * 混合继承:两种或多种类型继承的混合 什么是 Flask? Flask 是 Python 编写的一款轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug,模板引擎则使用 Jinja2。Flask 使用 BSD 授权。其中两个环境依赖是 Werkzeug...

    java开源包11

    ,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 ...

    java开源包2

    ,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 ...

    java开源包3

    ,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 ...

    java开源包6

    ,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 ...

Global site tag (gtag.js) - Google Analytics