锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久丫忘忧草产品,久久人人爽人人人人片av,久久久久久久女国产乱让韩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



]]>
日日狠狠久久偷偷色综合96蜜桃 | 久久人人爽人人爽人人片AV麻豆| 韩国无遮挡三级久久| 久久青青草原国产精品免费| 国产精品内射久久久久欢欢| 一本色综合久久| 久久精品国产91久久综合麻豆自制| 久久综合九色综合欧美狠狠| 久久精品成人免费国产片小草| 18禁黄久久久AAA片| 91久久精一区二区三区大全| 久久这里只有精品视频99| 色偷偷偷久久伊人大杳蕉| 久久综合伊人77777| 国产亚洲欧美成人久久片| 国产成人无码精品久久久性色 | 99久久精品免费| 久久精品国产清自在天天线| 性欧美大战久久久久久久| 精品少妇人妻av无码久久| 欧美成a人片免费看久久| 日韩精品国产自在久久现线拍| 无码人妻精品一区二区三区久久久 | 久久九色综合九色99伊人| 久久久久人妻一区精品色| 久久亚洲熟女cc98cm| 性做久久久久久久久久久| 国产福利电影一区二区三区久久老子无码午夜伦不 | 久久久久人妻一区二区三区vr| 久久精品国产亚洲av瑜伽| 久久久精品午夜免费不卡| 国产亚洲精久久久久久无码| 久久精品中文无码资源站| 一本久久精品一区二区| 久久性精品| 伊色综合久久之综合久久| 亚洲国产高清精品线久久 | 久久综合视频网站| 无码8090精品久久一区| 日韩十八禁一区二区久久| 久久笫一福利免费导航|