1、由于__func__并不是C語(yǔ)言規(guī)范中規(guī)定的必須宏定義,所以并不是所有編譯器都可以支持。當(dāng)調(diào)用__func__編譯出錯(cuò)情況下,即為編譯器不支持該宏,需要自行修改程序。比如手動(dòng)在需要的函數(shù)入口處定義一個(gè)顯式的__func__宏。

創(chuàng)新互聯(lián)咨詢(xún)電話:028-86922220,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),創(chuàng)新互聯(lián)網(wǎng)頁(yè)制作領(lǐng)域10余年,包括成都攪拌罐車(chē)等多個(gè)行業(yè)擁有多年建站經(jīng)驗(yàn),選擇創(chuàng)新互聯(lián),為企業(yè)保駕護(hù)航。
2、宏是一種預(yù)處理指令,它提供了一種機(jī)制,可以用來(lái)替換源代碼中的字符串。
3、在C語(yǔ)言源程序中,允許用一個(gè)標(biāo)識(shí)符來(lái)表示一個(gè)字符串,稱(chēng)為宏,宏定義是由源程序中的宏定義命令完成的,宏替換是由預(yù)處理程序自動(dòng)完成的。
1、宏定義又稱(chēng)為宏代換、宏替換,簡(jiǎn)稱(chēng)宏。格式:define 標(biāo)識(shí)符 字符串 其中的標(biāo)識(shí)符就是所謂的符號(hào)常量,也稱(chēng)為宏名。預(yù)處理(預(yù)編譯)工作也叫做宏展開(kāi):將宏名替換為字符串。掌握宏概念的關(guān)鍵是換。
2、用 #define 定義標(biāo)識(shí)符的一般形式為:define 標(biāo)識(shí)符 常量 //注意, 最后沒(méi)有分號(hào) define 和 #include 一樣,也是以“#”開(kāi)頭的。凡是以“#”開(kāi)頭的均為預(yù)處理指令,#define也不例外。
3、程序設(shè)計(jì)語(yǔ)言的預(yù)處理的概念:在編譯之前進(jìn)行的處理。 C語(yǔ)言的預(yù)處理主要有三個(gè)方面的內(nèi)容: 宏定義; 文件包含; 條件編譯。 預(yù)處理命令以符號(hào)“#”開(kāi)頭。宏定義又稱(chēng)為宏代換、宏替換,簡(jiǎn)稱(chēng)“宏”。
4、同樣道理,這個(gè)宏定義的外層括號(hào)也是不能省的。若函數(shù)中是宏替換為 ++MAX(a,b),則宏展開(kāi)就成了 ++(a)(b)?(a):(b),運(yùn)算優(yōu)先級(jí)也是錯(cuò)了。(3)宏函數(shù)往往會(huì)導(dǎo)致較低的代碼執(zhí)行效率。
5、宏的定義 在C或C++語(yǔ)言源程序中允許用一個(gè)標(biāo)識(shí)符來(lái)表示一個(gè)字符串,稱(chēng)為“宏”。被定義為“宏”的標(biāo)識(shí)符稱(chēng)為“宏名”。
6、你只需要使用“LED_BLUE;”語(yǔ)句就可以關(guān)閉LED1和2,打開(kāi)LED3。宏定義可以執(zhí)行多條函數(shù),宏定義的本質(zhì)實(shí)際上是文本替換,把宏定義的內(nèi)容原原本本地替換到宏使用的地方。
1、獲取不到,函數(shù)名在連接時(shí)被替換成函數(shù)入口地址,實(shí)際運(yùn)行的程序中通常不存在函數(shù)名(PE文件如果有函數(shù)導(dǎo)出表則導(dǎo)出表中可能會(huì)記錄函數(shù)名)。變量名同理。
2、C語(yǔ)言中調(diào)用函數(shù)的方法及步驟:工具/原料:C語(yǔ)言 首先需要輸入想要調(diào)用的函數(shù)。然后當(dāng)輸入一個(gè)括號(hào)后,即可觀察他的參數(shù)。接著在對(duì)應(yīng)的參數(shù)中輸入?yún)?shù)值。然后,系統(tǒng)會(huì)發(fā)生一個(gè)警告。
3、即函數(shù)嵌套允許在一個(gè)函數(shù)中調(diào)用另外一個(gè)函數(shù))。
4、在使用一個(gè)函數(shù)之前必須先對(duì)他進(jìn)行聲明://void B();聲明B函數(shù)的存在。void A(){B();//非法,程序執(zhí)行到此時(shí)并不知道B函數(shù)的存在。
5、第一次k=3,調(diào)用else return fun(k-1)+1;第二次k=2,在調(diào)用else return fun(k-1)+1;第三次k=1,在調(diào)用 else if(k==1) return 1:然后就沒(méi)了。
標(biāo)題名稱(chēng):c語(yǔ)言獲取函數(shù)名的宏 c語(yǔ)言獲取函數(shù)的地址
文章出自:http://chinadenli.net/article42/dechgec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站排名、品牌網(wǎng)站設(shè)計(jì)、用戶體驗(yàn)、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)