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();
}
分享到:
相关推荐
将 Objective-C 和 C++ 结合起来进行混合编程可以带来许多优势,特别是在需要高性能和灵活性的项目中。这种混合编程通常发生在 iOS 或 macOS 开发中,因为 Objective-C 是苹果平台的主要编程语言之一,而 C++ 则提供...
Python 与 C++ 混合编程可用 Python 与 C++ 混合编程是一种非常有用的技术,它可以将 Python 的灵活性和 C++ 的高性能相结合,实现高效、灵活的编程模型。本文将详细介绍 Python 与 C++ 混合编程的实现方法和关键...
1.在object-c++类中调用c++类 1)ViewController.m--->ViewController.mm 2)#import "OcCallCpp.h" 3)OcCallCpp.h引入C++类头文件,#include "MyCppClass.h" 4)OcCallCpp.m--->OcCallCpp.mm 2.在c++类中调用...
基于JavaScript陈述性语言:QML (Qt Meta-Object Language的缩写) 用于管理组件并与组件交互的C++ API - QtDeclarative模块 言归正传:通过Qt Creator,我们可以轻松生成一个Qt Quick的应用工程,从而为QML生成...
PCLint识别并报告C语言中的编程陷阱和格式缺陷的发生。它进行程序的全局分析,能识别没有被适当检验的数组下标,报告未被初始化的变量,警告使用空指针,冗余的代码,等等。软件除错是软件项目开发成本和延误的主要...
使在 Delphi(即 Borland Object Pascal)和 Java 中进行混合语言编程变得可行的代码。 当前包含 JNI 包装器代码,以便更轻松地使用 Delphi 而不是 C/C++ 与 JNI(Java 本机接口)。
18.2 在 C #代码中调用 C++和 VB 编写的组件 .240 18.3 版 本 控 制 .249 18.4 代 码 优 化 .252 18.5 小 结 .254 第五部分 附 录 .255 附录 A 关 键 字.255 附录 B 错 误 码.256 附录 C .Net 名字空间...
Java语言的发展经历了多个阶段,从1967年的Simula语言到1980年的Smalltalk-80,再到20世纪80年代中期的繁荣阶段,涌现了许多面向对象语言,如C++、Object Pascal、COLOS等。Java语言的前身是OAK语言,由Sun公司James...
,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 ...
,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 ...
* 混合继承:两种或多种类型继承的混合 什么是 Flask? Flask 是 Python 编写的一款轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug,模板引擎则使用 Jinja2。Flask 使用 BSD 授权。其中两个环境依赖是 Werkzeug...
,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 ...
,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 ...
,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 ...
,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 ...