关于c/c++/obj-c的混合使用 (2010-06-22 10:05:33)

关于c/c++/obj-c的混合使用

 (2010-06-22 10:05:33)
转载
标签: 

杂谈

分类: iPhone开发
1)obj-c的编译器处理后缀为m的文件时,可以识别obj-c和c的代码,处理mm文件可以识别obj-c,c,c++代码,但cpp文件必须只能用 c/c++代码,而且cpp文件include的头文件中,也不能出现obj-c的代码,因为cpp只是cpp
2) 在mm文件中混用cpp直接使用即可,所以obj-c混cpp不是问题
3)在cpp中混用obj-c其实就是使用obj-c编写的模块是我们想要 的。
如果模块以类实现,那么要按照cpp class的标准写类的定义,头文件中不能出现obj-c的东西,包括#import cocoa的。实现文件中,即类的实现代码中可以使用obj-c的东西,可以import,只是后缀是mm。
如果模块以函数实现,那么头文件要按 c的格式声明函数,实现文件中,c++函数内部可以用obj-c,但后缀还是mm或m。

总结:只要cpp文件和cpp include的文件中不包含obj-c的东西就可以用了,cpp混用obj-c的关键是使用接口,而不能直接使用实现代码,实际上cpp混用的是 obj-c编译后的o文件,这个东西其实是无差别的,所以可以用。而obj-c混用cpp就简单了,直接用就可以,因为obj-c的编译器支持啊

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你知道WPF这三大模板实例运用吗?

1、介绍对于Windows桌面端应用开发来讲,WPF以其界面渲染的特殊性,灵活的界面布局而让人津津乐道,因为它能为用户提供更好的交互体验。如何利用WPF开发出让人赏心悦目的界面与功能呢?这里不仅仅只是布局的功劳,很大一部…

如何判断程序员是在装逼还是有真本事?

程序员是一个十分特殊的群体,他们十分内敛、腼腆,但是只要一开口就能判断出来,到底是在装逼还是有真本事,不信咱们往下看!1、这个功能是小case,分分钟搞定一般情况下,程序员在拿到一个新的功能需…

php header会重定向吗,php – 可以依靠header()重定向来结束程序流吗?

不,标题不会结束程序执行.你必须自己以退出或死亡结束它.您可以自己尝试这样的事情:file_put_contents(/tmp/test, 1);header(Location: http://www.emilvikstrom.se/);file_put_contents(/tmp/test, 2);?>检查/ tmp / test的内容,你会发现它是2.我也试过这个脚…

tac

tac名称:以相反的方式连接和打印文件,和cat输出的内容相反总揽:tac [Options]…… [File]……描述:将每个指定的文件File的内容输出到标准输出上,文件的最后一行最先输出,最先一行最后输出。若命令行中没有指定文件或指…

怎样借助Python爬虫给宝宝起个好名字

Beginning每个人一生中都会遇到一件事情,在事情出现之前不会关心,但是事情一旦来临就发现它极其重要,并且需要在很短的时间内做出重大决定,那就是给自己的新生宝宝起个名字。因为要在孩子出生后两周内起个名字(需要办理…

CAP-分布式事务的解决方案

CAP 是一个基于 .NET Standard 的 C# 库,它是一种处理分布式事务的解决方案,同样具有 EventBus 的功能,它具有轻量级、易使用、高性能等特点。https://github.com/dotnetcore/CAP在我们构建 SOA 或者 微服务系统的过程中,我们通常…

php 初始二维数组长度,php二维数组排序与默认自然排序的方法介绍

php二维数组排序函数,默认自然排序,即sort排序。这里可以指定按二维数组中的某个值进行多种方法排序,具体看下面的程序注释。 代码如下:/*** function 二维数组自然排序* author www.phpernote.com* param array $array 需要排序的数组(二维)…

做操作系统的公司,为什么不能把系统安全做好?

易用和安全,从来都是一对矛盾,过分考虑方便用户操作,就很容易带来系统隐患。向上兼容也会带来系统的复杂性,复杂的系统漏洞一定多。对微软来说,它的每一个版本,都需要考虑向下兼容,比如Win95是3…

我是怎么用机器学习技术找到女票的

机器学习在我们生活中的用处有多大,就不用我们多说了,大到医疗诊断,小到手机应用,机器学习都应用的风风火火。但是用机器学习帮自己在学校找对象,你听说过吗?最近滑铁卢大学一位叫 Bai Li 的留学生(李白?应是中国同胞…

.Net5 WPF快速入门系列教程

一、概要在工作中大家会遇到需要学习新的技术或者临时被抽调到新的项目当中进行开发。通常这样的情况比较紧急没有那么多的时间去看书学习。所以这里向wpf技术栈的开发者分享一套wpf教程,基于.net5框架进行开发本系列每一期视频长度平均在15分钟左右,并利…

php 重定向数据不丢失,PHP重定向如何实现数据不丢失?

PHP重定向如何实现数据不丢失?首先获取要保存的数据;$data [username > guanhuicoder,redirect_url > ./index.phpemail > guanhuicodercode.com];然后将数据转为JSON字符串,并将其储存在Session中;$data [username &g…

数据“被”覆盖有假象,SQL数据库恢复终极绝招(数据恢复高级技术)

很多数据恢复工程师包括一些数据恢复技术爱好者经常会问同样一个问题:“数据一旦被覆盖了,还能不能恢复呀?我听说国外能恢复被覆盖以后的数据,据说只要是覆盖操作在7次以内,都能恢复出来,国内有没有这种技术…

北大教授郑也夫斗胆谈了7个天大的问题(非常狠,也很现实)

我是一个小人物,今天斗胆谈一个天大的问题——中国教育。中国教育是一个天大的问题,不是说我们有多大的本领把它办得多么好,而是我们居然可以把它办得这样糟,这是一个很沉痛的话题。——北大教授、社会学家郑也夫1不输在起跑线&am…

.NET 6 Preview 3 中 ASP.NET Core 的更新和改进

原文:bit.ly/2Qb56NP作者:Daniel Roth译者:精致码农-王亮.NET 6 预览版 3 现已推出,其中包括许多对新的 ASP.NET Core 改进。以下是本次预览版的新内容:更小的 SignalR、Blazor Server、MessagePack 脚本文件启用 Redi…

php 图片消除锯齿,ps如何消除边缘锯齿

PS消除边缘锯齿的方法:打开图片选择魔棒工具,在窗口中解锁图层然后将鼠标移动到背景区域,左键单击它再按删除键,然后再右键点击人像,选择羽化,将羽化半径设置为4,点击确定后按删除键&#xff0c…

构建根文件系统(2)Busybox init 进程

讲init进程的启动过程从/etc/inittab出发。 内核启动init进程时已经打开/dev/console设备作为控制台,一般情况下Busybox init程序就使用/dev/console, 如果内核启动init进程的同时设置了环境变量CONSOLE或console,则使用环境变量所指定的设备…

C#如何在Windows中操作IIS设置FTP服务器

什么是FTPFTP(File Transfer Protocol)是TCP/IP网络上两台计算机传送文件的协议,使得主机间可以共享文件.可以将 Internet 信息服务 (IIS) 配置为作为 FTP 服务器来运行。 这样,其他计算机便可以连接到服务器并将文件复制到服务器或者从服务器复制文件。…

这是一份编程宝典,请查收!

最近,小编一直在整理有关编程的书籍,有Android、C、Java、PHP、木马、算法等类型的书籍。现在,小编准备将这些资料免费分享给大家!Android应用开发入门教程(经典版)易学CC语言解惑HTML入门教程Java解惑&…

php备份和恢复源码,PHP数据库备份还原类

php代码<?php /*** 数据库备份还原类* author xialeistudio* date 2014-03-17* Class DatabaseTool*/class DatabaseTool{private $handler;private $config array(host > localhost,port > 3306,user > root,password > ,database > test,charset > ut…

2011年Android手机用户购买行为研究报告

http://mobile.51cto.com/hot-292153.htm转载于:https://blog.51cto.com/jueshishenhua/670081