• <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)  編輯 收藏 引用

            国产成人精品久久亚洲高清不卡| 久久九九久精品国产| 久久婷婷是五月综合色狠狠| 亚洲性久久久影院| 粉嫩小泬无遮挡久久久久久| 99久久婷婷国产综合精品草原| 一级做a爰片久久毛片看看| 亚洲欧美伊人久久综合一区二区| 97久久精品午夜一区二区| 人妻中文久久久久| 18岁日韩内射颜射午夜久久成人| 国产高清美女一级a毛片久久w| 久久久久久久波多野结衣高潮| 91久久九九无码成人网站| 深夜久久AAAAA级毛片免费看| 久久国产精品成人片免费| 久久这里只有精品首页| 久久久国产99久久国产一| 国产一级做a爰片久久毛片| 久久久亚洲欧洲日产国码aⅴ| 精品午夜久久福利大片| 精品久久久中文字幕人妻 | 色8激情欧美成人久久综合电| 少妇内射兰兰久久| 2021国产精品午夜久久| 精品国产综合区久久久久久| 国产农村妇女毛片精品久久| 久久久久亚洲AV无码永不| 伊人色综合久久天天网| 国产福利电影一区二区三区久久老子无码午夜伦不 | 亚洲精品乱码久久久久久按摩 | 一本色综合网久久| 亚洲色婷婷综合久久| 一级女性全黄久久生活片免费 | 国产精品禁18久久久夂久| 亚洲国产精品无码久久青草| 久久精品一区二区影院| 久久青青草原精品国产软件| 亚洲欧美成人久久综合中文网| 国产成人99久久亚洲综合精品| 久久黄视频|