关于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的编译器支持啊

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

  1. Python线程指南 ---转自 http://www.cnblogs.com/huxi/archive/2010/06/26/1765808.html

    Python线程指南 ---转自 http://www.cnblogs.com/huxi/archive/2010/06/26/1765808.html 本文介绍了Python对于线程的支持,包括&q ...

  2. 洛谷 P1767 家族_NOI导刊2010普及(10)

    P1767 家族_NOI导刊2010普及(10) 题目描述 在一个与世隔绝的岛屿上,有一个有趣的现象:同一个家族的人家总是相邻的(这里的相邻是指东南西北四个方向),不同的家族之间总会有河流或是山丘隔绝 ...

  3. 2010.06.04 电影推荐

    http://***/share/GetShare.do?id=2400531141&owner=319864489&ref=newsfeed&sfet=107&fin ...

  4. VS2010版本介绍(转自:http://www.cnblogs.com/Leo_wl/archive/2010/06/02/1750035.html)

    图片: Visual Studio 2010 已经发布1个多月了,个人感觉在使用过程中有些新功能确实方便了很多.在此分享一些比较实用的功能,也算是抛砖引玉欢迎大家来补充其他自己常用的功能特性. 起始页 ...

  5. 互联网侏罗纪【简德斋,2010.2.22】(陈礼彬转)

    本文分:页面:通讯:终端爆炸:移动互联网:政治:语言:社区:安全:广告:电子商务:物流:整合者:狩猎者:工具狂人:玩家:云计算:中文搜索:突破极限.18个章节.第一部分包含前九章. 第一章:页面 页面 ...

  6. 图灵2010.06书讯

    图灵五周年活动汇集 : 图灵 5周年系列活动之"有奖DEBUG" <UNIX网 络编程>买赠活动 <TCP/IP 详解>买赠活动 图灵5周年专题感恩活动 重 ...

  7. 黄聪:如何使用CodeSmith批量生成代码(转:http://www.cnblogs.com/huangcong/archive/2010/06/14/1758201.html)...

    先看看CodeSmith的工作原理: 简单的说:CodeSmith首先会去数据库获取数据库的结构,如各个表的名称,表的字段,表间的关系等等,之后再根据用户自定义好的模板文件,用数据库结构中的关键字替代 ...

  8. 存储过程使用事物的几种方式 转载自--http://www.cnblogs.com/chengxiaoming/archive/2010/06/11/1756163.html...

    --方式一 ifexists (select*from dbo.sysobjects where id =object_id(N'[dbo].[USP_ProcedureWithTransaction ...

  9. 【转】小生我怕怕工具包[2010.06.17](转自52破解论坛)

    该破解工具包是52破解论坛的斑竹小生我怕怕搜集制作,喜欢的可以下了啊------------------------------------------------------------------ ...

最新文章

  1. Java异常处理12条军规
  2. Jsonplugin+struts2使用说明
  3. 有关弹窗页面的注意问题
  4. DES加解密时 Given final block not properly padded 的解决方案
  5. CF1556D-Take a Guess【交互】
  6. TOYOTA SYSTEMS Programming Contest 2021(AtCoder Beginner Contest 228) ABCD
  7. scala面试问题_Scala高级面试问答
  8. IntelliJ Idea14 创建Maven多模块项目,多继承,热部署配置总结(一)
  9. 视频教程-思科设备管理(CCNA魔鬼训练营系列)-思科认证
  10. JAVA使用JEP进行动态公式计算
  11. 手把手教你制作可以上线官方商店的微信动态表情包
  12. directx初第一卷
  13. 同样是写博客,为什么我男朋友的粉丝那么多?!
  14. SitePoint播客#138:Google的替代品是什么?
  15. 二极管/三极管基本原理
  16. 关于钢琴学习的若干问题的混蛋解答 【2014/1/29更新,未完待续…………】
  17. 护照阅读器助力旅行社快捷录入
  18. preempt-RT patches
  19. arm-none-eabi-gcc编译、链接选项详解
  20. MATLAB 求解特征方程的根轨迹图稳定性分析

热门文章

  1. 整理iOS9适配中出现的坑
  2. Javascript:原型模式类继承
  3. Linux 释放缓存的方法
  4. Nginx常见配置:负载均衡、限流、缓存、黑名单和灰度发布
  5. Laravel 5 多个视图共享数据的方法
  6. Error opening terminal: xterm-256color
  7. platform_set_drvdata和platform_get_drvdata用法【转】
  8. 反射封装工具类-----零SQL插入
  9. C#字符串、字节数组和内存流间的相互转换 - IT浪潮之巅
  10. 基于'sessionStorage'与'userData'的类session存储