锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲欧洲视频在线,欧美日本在线观看,午夜精品一区二区三区在线http://www.shnenglu.com/scorpio/category/19469.htmlzh-cnThu, 01 Nov 2012 11:01:32 GMTThu, 01 Nov 2012 11:01:32 GMT60VI鍗佸叚榪涘埗妯″紡姝e父妯″紡鍒囨崲http://www.shnenglu.com/scorpio/archive/2012/10/31/163776.htmlApollo FangApollo FangWed, 31 Oct 2012 09:16:00 GMThttp://www.shnenglu.com/scorpio/archive/2012/10/31/163776.htmlhttp://www.shnenglu.com/scorpio/comments/163776.htmlhttp://www.shnenglu.com/scorpio/archive/2012/10/31/163776.html#Feedback0http://www.shnenglu.com/scorpio/comments/commentRss/163776.htmlhttp://www.shnenglu.com/scorpio/services/trackbacks/163776.htmlVIM鏄劇ず鍗佸叚榪涘埗鐨勬柟娉? %!xxd
VIM鍥炲姝e父鏄劇ず鏂規硶- %!xxd -r

]]>
What is "##" string in C codehttp://www.shnenglu.com/scorpio/archive/2012/06/08/177471.htmlApollo FangApollo FangFri, 08 Jun 2012 02:42:00 GMThttp://www.shnenglu.com/scorpio/archive/2012/06/08/177471.htmlhttp://www.shnenglu.com/scorpio/comments/177471.htmlhttp://www.shnenglu.com/scorpio/archive/2012/06/08/177471.html#Feedback0http://www.shnenglu.com/scorpio/comments/commentRss/177471.htmlhttp://www.shnenglu.com/scorpio/services/trackbacks/177471.htmlSee code below(quoting ffmpeg source code)
 1 #define REGISTER_MUXER(X,x) { \
 2     extern AVOutputFormat x##_muxer; \
 3     if(CONFIG_##X##_MUXER) av_register_output_format(&x##_muxer); }
 4 #define REGISTER_DEMUXER(X,x) { \
 5     extern AVInputFormat x##_demuxer; \
 6     if(CONFIG_##X##_DEMUXER) av_register_input_format(&x##_demuxer); }
 7 #define REGISTER_MUXDEMUX(X,x)  REGISTER_MUXER(X,x); REGISTER_DEMUXER(X,x)
 8 #define REGISTER_PROTOCOL(X,x) { \
 9     extern URLProtocol x##_protocol; \
10     if(CONFIG_##X##_PROTOCOL) av_register_protocol2(&x##_protocol, sizeof(x##_protocol)); }

"##" string in C language code is used for concatenating the two strings which is before and behind it  in a macros definition.
See a test code below :
1 #define DEFINE(t, x)  {t x##_##t;}
3 int main()
4 {
5     DEFINE(int, vvv);
6     return 0;
7 }

Use "gcc -E test_sharpsharp.c -o test_sharpsharp.i" command to pre-process this file
And the output file "test_sharpsharp.i" just looks like below :
1 int main()
2 {
3     {int vvv_int;};
4     return 0;
5 }

The code below is useful, and you can use "##" macro definitions to realize sample templates with C language
1 #define REGISTER_DATA_COMPARE(x)\
2     static __inline x x##_compare(x key1, x key2)\
3     {\
4         if (key1 > key2) return 1;\
5         if (key1 < key2) return -1;\
6         return 0;\
7     }
In this way, you can realize a data comparing function set, when you need comparing some type of data, just register it.


]]>
How to update or install pthread manual reference on Linuxhttp://www.shnenglu.com/scorpio/archive/2011/10/27/159215.htmlApollo FangApollo FangThu, 27 Oct 2011 05:28:00 GMThttp://www.shnenglu.com/scorpio/archive/2011/10/27/159215.htmlhttp://www.shnenglu.com/scorpio/comments/159215.htmlhttp://www.shnenglu.com/scorpio/archive/2011/10/27/159215.html#Feedback0http://www.shnenglu.com/scorpio/comments/commentRss/159215.htmlhttp://www.shnenglu.com/scorpio/services/trackbacks/159215.html    If you want to install the manual reference about pthread, execute the following command:
    
    sudo apt-get install glibc-doc
    sudo apt-get install manpages-posix-dev


]]>
How To Disable "_CRT_SECURE_NO_WARNINGS" Warningshttp://www.shnenglu.com/scorpio/archive/2011/10/25/159059.htmlApollo FangApollo FangTue, 25 Oct 2011 09:26:00 GMThttp://www.shnenglu.com/scorpio/archive/2011/10/25/159059.htmlhttp://www.shnenglu.com/scorpio/comments/159059.htmlhttp://www.shnenglu.com/scorpio/archive/2011/10/25/159059.html#Feedback0http://www.shnenglu.com/scorpio/comments/commentRss/159059.htmlhttp://www.shnenglu.com/scorpio/services/trackbacks/159059.html    While you using MS Visual Studio, there are always "_CRT_SECURE_NO_WARNINGS" warnings appeared, like bellow:

   "warning C4996: 'strerror': This function or variable may be unsafe. Using strerror_s instead."

    How to disable this kind deprecation? Do like bellow (VS2010):

    Project -> Properties -> Configuration Properties -> C++ -> Processor -> Processor Definitions

    And then add a macro definition "_CRT_SECURE_NO_WARNINGS", and use a ";" to separated with others

    OK, Hit OK and enjoy the silence...


Tuesday, October 25, 2011



]]>
国产视频久久| 无码乱码观看精品久久| 久久伊人精品青青草原高清| 国产成人久久777777| 亚洲人AV永久一区二区三区久久| 国产香蕉久久精品综合网| 久久久久亚洲AV无码网站| 久久精品成人免费国产片小草| 18禁黄久久久AAA片| 久久国产精品久久| 久久精品国产久精国产果冻传媒| 91精品无码久久久久久五月天| 久久久久亚洲AV无码专区首JN| 伊人久久免费视频| 久久久精品人妻一区二区三区蜜桃 | 成人久久精品一区二区三区 | 精品久久人人爽天天玩人人妻| 久久精品国产2020| 日韩美女18网站久久精品| 国产高潮久久免费观看| 欧美午夜精品久久久久免费视| 亚洲欧美日韩久久精品| 看全色黄大色大片免费久久久 | 99国产精品久久久久久久成人热| 久久综合久久美利坚合众国| 一本色道久久综合狠狠躁篇| 国产一区二区精品久久岳| 国产福利电影一区二区三区久久久久成人精品综合 | 亚洲国产另类久久久精品小说 | 久久久久99精品成人片直播| 伊人久久综合成人网| 国产精品乱码久久久久久软件| 久久国产成人午夜AV影院| 久久99精品久久久久久秒播| 欧美精品一区二区精品久久| 青青国产成人久久91网| 国产国产成人久久精品| 久久国产乱子伦精品免费午夜| 久久99精品国产麻豆婷婷| 亚洲国产成人乱码精品女人久久久不卡 | 国内精品久久久久久久影视麻豆 |