IOS Xcode開發(fā)中 文件名的后綴名m,mm,cpp,h區(qū)別

文件區(qū)別:

.h:頭文件。頭文件包含類,類型,函數(shù)和常數(shù)的聲明。

.m :源代碼文件。這是典型的源代碼文件擴(kuò)展名,可以包含Objective-C和C代碼。

.mm :源代碼文件。帶有這種擴(kuò)展名的源代碼文件,除了可以包含Objective-C和C代碼以外還可以包含C++代碼。僅在你的Objective-C代碼中確實(shí)需要使用C++類或者特性的時(shí)候才用這種擴(kuò)展名

.cpp:只能編譯C++

當(dāng)你需要在源代碼中包含頭文件的時(shí)候,你可以使用標(biāo)準(zhǔn)的#include編譯選項(xiàng),但是Objective-C提供了更好的方法。#import選項(xiàng)和#include選項(xiàng)完全相同,只是它可以確保相同的文件只會(huì)被包含一次。Objective-C的例子和文檔都傾向于使用#import。

.m 和.mm 的區(qū)別是告訴gcc 在編譯時(shí)要加的一些參數(shù)。當(dāng)然.mm還可以命名成.m,但在編譯時(shí)要手動(dòng)加參數(shù)(麻煩)

常用場(chǎng)景:

如果你的OC代碼里面有包含C++的引用或代碼,將此類更改為.mm即可;

例子:

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

在引用zxing的時(shí)候#import用到了iostream,但是它是/iphoneOS6.1/user/include/c++下面的類,故需要把類名改為.mm即可

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

源地址:http://blog.csdn.net/penuel/article/details/9796721

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • .h:頭文件。頭文件包含類,類型,函數(shù)和常數(shù)的聲明。 .m:源代碼文件。這是典型的源代碼文件擴(kuò)展名,可以包含Obj...
    追風(fēng)者366閱讀 7,457評(píng)論 0 2
  • 文件區(qū)別: .h:頭文件。頭文件包含類,類型,函數(shù)和常數(shù)的聲明。 .m :源代碼文件。這是典型的源代碼文件擴(kuò)展名,...
    VincentHK閱讀 3,058評(píng)論 0 3
  • 1.項(xiàng)目經(jīng)驗(yàn) 2.基礎(chǔ)問題 3.指南認(rèn)識(shí) 4.解決思路 ios開發(fā)三大塊: 1.Oc基礎(chǔ) 2.CocoaTouch...
    扶光啟玄閱讀 5,205評(píng)論 0 13
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,602評(píng)論 19 139
  • 1.光和太陽 我是萬物依賴生長的太陽 火紅的血液沸騰,膨脹 散發(fā)出光和無盡的光 地球轉(zhuǎn)動(dòng),萬物生長 2.漆黑的石頭...
    把好奇還給昊奇閱讀 245評(píng)論 0 1

友情鏈接更多精彩內(nèi)容