`
wenxin2009
  • 浏览: 320568 次
  • 性别: 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++ 则提供...

    Object-C语言教程&

    - **混合编程**:在Objective-C程序中可以自由地使用C语言的代码,这为开发者提供了极大的灵活性。 #### 四、Objective-C的文件类型 - **.h文件**:头文件,用于声明类、类型、函数和常量等。它们通常包含了类的...

    From C++ to Objective-C (从C++到ObjectivC)

    标题为“From C++ to Objective-C (从C++到Objective-C)”的文章主要探讨了从C++转向Objective-C的程序员应该了解的关键概念和差异。Objective-C是一种主要用在苹果公司产品开发上的面向对象的编程语言,特别是在Mac...

    Matlab-COM组件与C++混合编程.zip

    本主题聚焦于“Matlab-COM组件与C++混合编程”,这是一种将高性能的C++代码与Matlab的数学计算能力相结合的方法。下面将详细阐述这一领域的关键知识点。 首先,**MATLAB** 是一种广泛使用的数值计算环境,它提供了...

    从C++到Object-C

    从C++到Object-C的知识点涵盖了面向对象编程语言的迁移与适应,特别是对于那些有C++背景的程序员来说,理解Objective-C语言的特点、语法和编程范式是至关重要的。接下来将详细阐述这些知识点: 1. Objective-C语言...

    Object-c 入门教程

    2. **兼容性:** 作为一种扩展自 C 语言的编程语言,Objective-C 可以直接与 C 或 C++ 代码混合使用,提高了代码的复用性和灵活性。 3. **动态性:** Objective-C 是一种动态类型语言,可以在运行时添加方法或修改类...

    iphone混合object-C++自动测试框架

    4. **混合编程**:混合使用Objective-C和C++可以实现更灵活的代码组织。Objective-C可以用于高层逻辑和与iOS SDK的交互,而C++则用于实现底层算法和数据结构,或者引入已有的C++库。 5. **测试用例报告**:压缩包中...

    从C++到Object-c

    Objective-C是一种面向对象的编程语言,它在C语言的基础上添加了面向对象的特性。Objective-C是苹果公司用于开发Mac OS X和iOS应用程序的主要语言之一,尤其是在结合Cocoa和Cocoa Touch框架时,它能够构建出高度交互...

    Object-C 入门教程-object-c如何学习

    - **.mm文件**:允许在同一文件中混合使用Objective-C和C++代码。 - **导入语句**:`#import`语句不仅包含了指定的头文件,还自动避免了多次包含同一个文件的问题,从而提高了编译效率。 #### 三、Objective-C 示例...

    3 - Qt QML与C++混合编程1

    Qt QML 与 C++混合编程提供了强大的灵活性,可以充分利用两者的优点。QML 用于构建直观、动态的用户界面,而 C++则处理复杂的业务逻辑和性能关键的计算。通过正确地注册类、暴露属性和信号,可以轻松地在 QML 与 C++...

    从C++到Object-C.pdf

    Objective-C是一种面向对象的编程语言,它基于C语言并添加了面向对象的特性。这种语言最初由Brad Cox在1980年代初开发,并在苹果公司的支持下成为Mac OS X和iOS操作系统的主要开发语言之一。Objective-C与Cocoa框架...

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

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

    qml与c++混合编程例子

    **QML与C++混合编程详解** 在现代软件开发中,Qt框架因其强大的跨平台能力、高效的性能以及丰富的用户界面库而备受青睐。Qt中的QML(Qt Meta Language)是用于构建用户界面的一种声明式语言,它允许开发者以简洁、...

    object-c 2.0 教程

    苹果编译器基于GNU Compiler Collection (GCC),支持Objective-C、C和C++代码的混合编程。 - **文件扩展名**:Objective-C源文件通常使用`.m`作为扩展名,而C++和Objective-C混合的源文件则使用`.mm`作为扩展名。 -...

    Object-C学习大纲.pdf

    - .mm 文件:混合 C++ 和 Objective-C 代码的文件。 - **关键字特点**: - 大多数关键字以 @ 开头。 - 包括但不限于 @interface、@implementation、@end、@property 等。 - **注释**: - 单行注释:// 或者 /* ....

    基于C++和Python混合编程的WORD文档操作方法1

    本文主要探讨了如何通过C++和Python的混合编程来操作Microsoft Word文档,解决C++原生系统在处理Word文档时的不便。 在C++系统中嵌入Python脚本的主要原因是Python具有灵活高效、易于理解和部署的优势。Python作为...

    matlab与c/c++混合编程中VARIANT与c++数据类型转换类

    在本篇知识讲解中,我们将聚焦于“matlab与C/C++混合编程中VARIANT与C++数据类型转换类”的主题,探讨如何在VC++环境下,通过COM组件与MATLAB进行数据交互,并特别关注VARIANT数据类型与C++基本数据类型的转换方法。...

    c,c++,c#混合编程

    本主题聚焦于"C,C++,C#"的混合编程,这三种语言分别代表了低级、中级和高级的编程范式,它们各自具有独特的优势,并在不同场景下有着广泛的应用。下面将详细探讨如何进行这三者的混合编程,以及相关的知识点。 1. *...

Global site tag (gtag.js) - Google Analytics