• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            ffmpeg 中的GNU語法

            轉載自:http://blog.chinaunix.net/uid-21564437-id-3034917.html

                閱讀ffmpeg源碼是 發現一些函數前面加了 attribute_deprecated 屬性;如:attribute_deprecated int url_fopen( AVIOContext **s, const char *url, int flags);
            在libavutil/attributes.h  中有如下定義:

            #ifndef attribute_deprecated
            #if AV_GCC_VERSION_AT_LEAST(3,1)
            #    define attribute_deprecated __attribute__((deprecated))
            #else
            #    define attribute_deprecated
            #endif
            #endif

            __attribute__ 語法為GNU C 的特性,__attribute__可以設置函數屬性(Function Attribute)、變量屬性(Variable Attribute)和類型屬性(Type Attribute)。
            __attribute__語法格式為:__attribute__ ((attribute))
            需要注意的是: 使用__attribute__的時候,只能函數的聲明處使用__attribute__,并且在“;“前。

            在開發一些庫的時候,API的接口可能會過時,為了提醒開發者這個函數已經過時。只要函數被使用,在編譯是都會產生警告,警告信息中包含過時接口的名稱及代碼中的引用位置。
            下面是GNU 網站(http://gcc.gnu.org/onlinedocs/gcc-4.0.0/gcc/Function-Attributes.html)上對這個屬性的解釋:
            deprecated
            The deprecated attribute results in a warning if the function is used anywhere in the source file. This is useful when identifying functions that are expected to be removed in a future version of a program. The warning also includes the location of the declaration of the deprecated function, to enable users to easily find further information about why the function is deprecated, or what they should do instead. Note that the warnings only occurs for uses:
                      int old_fn () __attribute__ ((deprecated));
                      int old_fn ();
                      int (*fn_ptr)() = old_fn;
                
            results in a warning on line 3 but not line 2.
            下面是一個列子:
            root@wang:/work/wanghuan/gnu# cat gnu.c

            #include <stdlib.h>
            #include 
            <stdio.h>

            __attribute__((deprecated)) 
            void attribute();
            void attribute()
            {
             printf(
            "GNU attribute \n");
            }


            int main()
            {
             attribute();
             
            return 0;
            }

            root@wang:/work/wanghuan/gnu# gcc gnu.c -o gnu
            gnu.c: In function ‘main’:
            gnu.c:12: warning: ‘attribute’ is deprecated (declared at gnu.c:5)     //編譯警告
            root@wang:/work/wanghuan/gnu# ./gnu
            GNU attribute

            關于__attribute__屬性,有多種類型,由于ARM編譯器支持GNU語法,在ARM的網站http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0348bc/Caccahah.html 有這些特性的詳細介紹。

            posted on 2013-01-29 16:05 楊粼波 閱讀(796) 評論(0)  編輯 收藏 引用

            久久噜噜电影你懂的| 久久久久久久久66精品片| 久久精品午夜一区二区福利| 久久综合欧美成人| 色婷婷噜噜久久国产精品12p| 日日噜噜夜夜狠狠久久丁香五月| 久久精品国产亚洲综合色| 欧美亚洲国产精品久久久久| 国产美女久久久| 久久九九兔免费精品6| 国产精品伊人久久伊人电影 | 精品无码久久久久久久久久| 青青草原综合久久大伊人| 一本久久久久久久| 亚洲中文字幕无码一久久区| 久久久久国产精品三级网| 狠狠色丁香久久综合五月| 一本色综合网久久| 7777精品伊人久久久大香线蕉 | 久久精品国产亚洲AV久| 国产精自产拍久久久久久蜜| 狠狠狠色丁香婷婷综合久久俺| 日本精品久久久久影院日本| 999久久久国产精品| 麻豆精品久久久一区二区| 日本久久久久亚洲中字幕| 久久精品国产久精国产一老狼| 久久人妻少妇嫩草AV无码蜜桃| 国产精品久久久久乳精品爆| 欧美久久综合性欧美| 国内精品伊人久久久久av一坑| 人妻精品久久无码区| 久久综合九色综合网站| 久久笫一福利免费导航| 2021最新久久久视精品爱 | 国产真实乱对白精彩久久| 伊人久久免费视频| 国内精品久久久久久久亚洲| 国产免费久久精品99久久| 久久丝袜精品中文字幕| 久久精品aⅴ无码中文字字幕不卡|