一、C和OC如何混用,C++與OC怎么混用?
實(shí)現(xiàn)文件的拓展名.m改成.mm即可實(shí)現(xiàn)C文件與OC文件的混用。
但是cpp文件必須只能用C/C++代碼,,而且cpp的include的頭文件中也不能有OC的代碼;
OC和C++都是C的面向?qū)ο蟮某?。OC和C的主要區(qū)別在于:OC是完全動(dòng)態(tài)的,支持在運(yùn)行時(shí)動(dòng)態(tài)類型決議,動(dòng)態(tài)綁定,以及動(dòng)態(tài)裝載;但是C是部分動(dòng)態(tài)的,編譯時(shí)靜態(tài)綁定,通過(guò)嵌入類(多重繼承)和虛函數(shù)(虛表)來(lái)模擬實(shí)現(xiàn);
二、OC中存在私有方法、私有變量么?
在OC中,使用private修飾的全局變量就是私有變量;但是OC在語(yǔ)法上并沒(méi)有設(shè)計(jì)私有的方法,雖然可以通過(guò)延展在實(shí)現(xiàn)文件里面的定義方法作為私有方法,但并不是真正意義上的私有方法,這些方法可以被調(diào)用,只是外界看不到;
三、C語(yǔ)言中,extent的作用是什么? extent C 的作用是什么?
1、extent 可以南北防止在變量前或函數(shù)前,表示此變量或函數(shù)的定義在別的文件中,提示編譯器遇到此變量或函數(shù)時(shí),需要在其他的模塊中尋找其定義;
2、C++語(yǔ)言在編譯時(shí),為了解決函數(shù)的多態(tài)問(wèn)題,會(huì)將函數(shù)名與參數(shù)聯(lián)合起來(lái)生成一個(gè)中間的函數(shù)名稱,而C語(yǔ)言則不會(huì),因此會(huì)造成鏈接時(shí)找不到對(duì)應(yīng)函數(shù)的情況,此時(shí),C函數(shù)就需要使用 extent C 進(jìn)行鏈接指定,告訴編譯器,請(qǐng)保持我的名稱,不要將其生成用于鏈接的中間函數(shù)名;