文件区别:

.h:头文件。头文件包含类,类型,函数和常数的声明。

.m :源代码文件。这是典型的源代码文件扩展名,可以包含Objective-C和C代码。

.mm :源代码文件。带有这种扩展名的源代码文件,除了可以包含Objective-C和C代码以外还可以包含C++代码。仅在你的Objective-C代码中确实需要使用C++类或者特性的时候才用这种扩展名

.cpp:只能编译C++

当你需要在源代码中包含头文件的时候,你可以使用标准的#include编译选项,但是Objective-C提供了更好的方法。#import选项和#include选项完全相同,只是它可以确保相同的文件只会被包含一次。Objective-C的例子和文档都倾向于使用#import。

.m 和.mm 的区别是告诉gcc 在编译时要加的一些参数。当然.mm还可以命名成.m,但在编译时要手动加参数(麻烦)

常用场景:

如果你的OC代码里面有包含C++的引用或代码,将此类更改为.mm即可;

例子:

ERROR:./zxing/cpp/core/src/zxing/common/Counted.h:21:10: 'iostream' file not found

在引用zxing的时候#import用到了iostream,但是它是/iphoneOS6.1/user/include/c++下面的类,故需要把类名改为.mm即可

注意#import或#include的位置要在.mm文件里,如果在.h头文件里是没用的

ios xcode文件前缀_IOS Xcode开发中 文件名的后缀名m,mm,cpp,h区别相关推荐

  1. Android开发中VSS、RSS、PSS、USS的区别

    Android开发中VSS.RSS.PSS.USS的区别 1. VSS: Virtual Set Size 虚拟耗用内存(包含共享库占用的内存) VSS表示一个进程可访问的全部内存地址空间的大小.这个 ...

  2. 如何批量修改文件夹中图片的后缀名

    原文链接: https://blog.csdn.net/lshcc01/article/details/95233258 如何批量修改文件夹中图片的后缀名 方法:编写脚本 1.在图片所在的文件夹里新建 ...

  3. 开发中VSS、RSS、PSS、USS的区别

    Android开发中VSS.RSS.PSS.USS的区别 1. VSS: Virtual Set Size 虚拟耗用内存(包含共享库占用的内存) VSS表示一个进程可访问的全部内存地址空间的大小.这个 ...

  4. 关于ssl证书:pem转成crt文件的最简单方法:直接改后缀名!

    关于ssl证书:pem转成crt文件的最简单方法:直接改后缀名! 把 xxx.pem改成xxx.crt

  5. 教你给每个文件的文件名、后缀名一键重命名的操作方法

    当我们需要一次性修改多个文件名及后缀名的话如何进行操作才能快速完成重命名工作呢?下面就来给大家分享批量操作的方法,希望可以帮助大家提高完成工作的效率吧,下面一起看操作. 准备工具: 下载一个[文件批量 ...

  6. ios xcode文件前缀_关于ios8:Xcode 6错误:“嵌入式二进制文件的包标识符未以父应用程序的包标识符为前缀。”...

    我正在尝试构建扩展项目,而Xcode不断在主题中抛出错误. 不用说,该扩展程序的捆绑软件ID会以应用程序的捆绑软件ID为前缀. 产品名称:ro.chitza.TodayPics.$(TARGET_NA ...

  7. STL文件在医学软件开发中的应用

    本文由Markdown语法编辑器编辑完成. 1. 什么是STL文件? STL(Stereolithography,光固化立体造型术的缩写)文件格式,是由3D SYSTEMS公司于1998年制定的一个接 ...

  8. Qt 中获取文件路径和文件名、后缀名(连续多个后缀名)

    QString fileName, filePath,fileSuffix;     QString fullPath = QFileDialog::getOpenFileName(this,.... ...

  9. linux下批量修改前缀,Linux 中批量修改后缀名

    在某年某月的某分某秒一场悲剧发生,心情是非常的不爽,一同事把2G的图片上传到服务器,程序默认的是小写的.jpg格式,但是图片都是大写的.这时候查了很多的资料看的了这些东西,也跟大家分享一下,希望可以帮 ...

最新文章

  1. php error 关闭,php error_reporting()关闭报错
  2. asp建站系统源码_【服务器安全】windows系统安全注意事项
  3. 如何把薪资谈高一倍?请看大厂offer拿到手软的ML大神自述
  4. ITCAST-C# 委托
  5. 将太阳光聚集起来可以用来做饭!?
  6. SHELL编程(一)---------hello world
  7. mysql 安装telnat_yum安装telnet服务
  8. 一起来学习丨听海华大赛第一名团队聊比赛经验和心得
  9. bzoj2245 [SDOI2011]工作安排 费用流
  10. 初学FPGA一些建议
  11. PickerView 使用
  12. 关于校园粮食浪费问题的调查
  13. LaTex 在线编辑编译,生成PDF —— Overleaf
  14. Win 批处理生成文件目录树
  15. QQ截图别人收不到,显示[图片][图片],QQ录屏不了,QQ图片分裂
  16. 【易康eCognition】面向对象的图像分类学习
  17. SEE MIPS RUN 第六章 内存管理与TLB
  18. 性能测试---搬运自Performance Testing Guidance for Web Applications,作者J.D. Meier, Carlos Farre, Prashant Ban
  19. 怎样理解大数据概念?大数据有什么用处?
  20. 凡人修仙传之百炼冥门java_修仙缘:细说我与《凡人修仙传》的过往

热门文章

  1. 【C语言】找出1000以内可以被3整除的数
  2. C#算法设计排序篇之07-希尔排序(附带动画演示程序)
  3. arkit unity_凯蒂猫! 如何使用ARKit和Unity制作增强现实应用程序。
  4. 103_Power Pivot 透视表中空白标签处理及百分比
  5. Python创建进程、线程的两种方式
  6. Python-使用tkinter实现的摇骰子小游戏
  7. nohup后台运行以及重定向标准输出和标准异常
  8. ASP.NET使用Session的七点认识
  9. c++中vecto容器r常使用的相关函数
  10. numpy.tile作用,语法,参数分析以及举例