• <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 楊粼波 閱讀(790) 評論(0)  編輯 收藏 引用

            久久久久亚洲AV无码观看| 狠狠久久综合伊人不卡| 久久天天躁夜夜躁狠狠躁2022| 久久婷婷人人澡人人爽人人爱| 97精品伊人久久大香线蕉app| 人人狠狠综合久久亚洲88| 国产精品99久久精品爆乳| 2020久久精品亚洲热综合一本| 2021国产精品午夜久久| 国产一区二区三区久久精品| 热RE99久久精品国产66热| 精品久久一区二区| 怡红院日本一道日本久久| 亚洲人成网站999久久久综合| 精品久久久久久亚洲精品| 久久久久亚洲?V成人无码| 精品一区二区久久| 亚洲av成人无码久久精品| 久久影视综合亚洲| 国产精品亚洲综合专区片高清久久久 | 漂亮人妻被黑人久久精品| 久久精品国产精品亚洲人人| 99久久免费国产特黄| 久久精品国产久精国产果冻传媒 | 久久精品www人人爽人人| 亚洲AV伊人久久青青草原| 亚洲国产成人久久综合一| 麻豆亚洲AV永久无码精品久久| 欧美久久亚洲精品| 久久久黄片| 久久青青国产| 香蕉久久永久视频| 久久久这里只有精品加勒比| 久久久99精品一区二区| 久久久久久久国产免费看| 久久亚洲高清综合| 久久只有这精品99| 久久久久亚洲av综合波多野结衣| 久久婷婷五月综合成人D啪| 人妻无码αv中文字幕久久琪琪布 人妻无码精品久久亚瑟影视 | 久久无码一区二区三区少妇|