日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

__typeof__() 、 __typeof() 、 typeof()的区别

發布時間:2025/3/12 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 __typeof__() 、 __typeof() 、 typeof()的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 摘要:__typeof__()和__typeof()和typeof()都是C的擴展,且意思是相同的,標準C不包括這樣的運算符標準C:ANSIC,ISOC,StandardCC89C99C11這些其實都是一個東西,只是不同時期的叫法。GNUC:(革奴C)支持標準C的基礎上做了一些C擴展在標準C中寫擴展是以__開頭,所以在標準C中要寫成__typeof()或__typeof__()在GNUC中支持直接寫typeof()或者__typeof()或者__typeof__()iOS使用Cla
  • __typeof__()和 __typeof()和 typeof() 都是 C 的擴展,且意思是相同的,標準C不包括這樣的運算符

    ?

    ?

    ?

    ?

    ?

    標準C: ANSI C ,ISO C, Standard C C89 C99 C11 這些其實都是一個東西,只是不同時期的叫法。

    ?

    GNU C: (革奴 C) 支持標準C的基礎上做了一些C擴展

    ?

    ?

    ?

    在標準C 中寫擴展是 以 __ 開頭,所以在標準C中要寫成 __typeof() 或 __typeof__()

    ?

    在GNU C 中支持直接寫 typeof() 或者 __typeof() 或者 __typeof__()

    iOS 使用Clang編譯器,默認用的C語言版本是GNU99 ,并且允許'asm'inline''typeof'的選項設置為Yes。

    ?

    因此使用typeof() 完全ok。

    ?

    如果以后用于編譯的C語言版本 不是GNU C了,你就炸了。直接報錯

    做個簡單的驗證:

    ?

    1.Xcode中新建一個命令行項目 (注意創建項目時,語言選的是C語言,不是OC。 如果選擇OC創建OC項目的話,當選擇標準C的時候,系統的有些類就直接報錯,看不到typeof的錯誤),(下圖,可以看到默認是GNU99 )

    ?

    2.在main.m中寫 typeof(),cmd + R 正確運行,控制臺打印。

    ?

    ?

    3.將Xcode中的 GNU C 設置 成 標準C

    ?

    ?

    運行后發現報錯了

    ?

    總結:如果希望更安全,建議使用__typeof__() 或者 __typeof()這樣,如果用于編譯的C語言版本發生變化,也不會受到影響。

總結

以上是生活随笔為你收集整理的__typeof__() 、 __typeof() 、 typeof()的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。