• <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>

            tqsheng

            go.....
            隨筆 - 366, 文章 - 18, 評論 - 101, 引用 - 0
            數據加載中……

            GUID generation : Slick-C version

            http://community.slickedit.com/index.php/topic,202.html 


            GUID generation : Slick-C version
            « on: July 31, 2006, 05:20:58 PM »
            The earlier post on uuidgen prompted me to share my own macro implementation that I created for my own use a few months ago. This  macro implementation is self-contained, and doesn't shell out to any other utilties.

            There are 3 commands and 1 function for generating GUIDs:

            insert_guid(_str format = 'B'); (command)
            This generates a new GUID, formatted according to format specifier parameter, and inserts it at the current position in the buffer. Default is Brace Format.
            Use it on the command line like so:
            Code: [Select]
            insert-guid g
            copy_guid(_str format = 'B'); (command)
            Same as above, but places the results on the clipboard. This way you can generate a GUID without having an edit buffer open. On the command line:
            Code: [Select]
            copy-guid b
            gui_insert_guid(); (command)
            Shows a small dialog, allowing you to generate multiple GUIDs, or to insert the same GUID in multiple string formats.

            _str guid_create_string(_str format); (function)
            Works the same as insert_guid, but returns the string. For use in your own macro functions and forms.

            The string formats for GUID output are documented in the source guidgen.e, at the top, in the Javadoc for insert_guid. But to pique
            your interest...
            • 'B' - Brace format: {F3410386-1DBB-4035-A293-440A106A6665}
            • 'G' - General format: F3410386-1DBB-4035-A293-440A106A6665
            • 'P' - Paren format: (F3410386-1DBB-4035-A293-440A106A6665)
            • 'N' - Number format: F34103861DBB4035A293440A106A6665
            • 'C' - Const declaration: static const GUID <<name>> = { 0xf3410386, 0x1dbb, 0x4035, { 0xa2, 0x93, 0x44, 0xa, 0x10, 0x6a, 0x66, 0x65 } };
            • 'D' - DEFINE_GUID macro: DEFINE_GUID(<<name>>, 0x17342D4B, 0x906F, 0x4706, 0x0F, 0xAC, 0xC5, 0x8E, 0x4D, 0xE7, 0x32, 0x29);
            • 'O' - IMPLEMENT_OLECREATE macro: IMPLEMENT_OLECREATE(<<class>>, <<external_name>>, 0xf3410386, 0x1dbb, 0x4035, 0xa2, 0x93, 0x44, 0xa, 0x10, 0x6a, 0x66, 0x65);

            In my own testing I have generated over 50,000 GUIDs without a duplicate, so the algorithm looks to be holding up so far.
            But if you'd like to verify the reliability before using in your own code, I have provided some unit testing commands as well.
            Open an empy edit buffer and run the following command line:
            Code: [Select]
            guid-unittest-duplicates 200, where 200 is the number of GUIDs you want to create. This will populate the
            buffer with the requested number of GUIDs in brace format using insert_guid('b');. Any number less than 
            2000 should complete in a reasonable amount of time. 2000 takes around 5 seconds on my Pentium M 2.0 GHz, 1 GB RAM. The results of 
            the unit testing are displayed in the VSAPI message window since it uses the say() funtion. You can run the unit test multiple times in
            the same edit buffer, and it will append the results to the end of the previous test.

            For those of you interested in such things, the GUIDs generated are created (and marked) as version 4. This means
            that all bytes of the GUID were created using a random number, and does not use a MAC address as a basis.

            posted on 2012-04-24 15:26 tqsheng 閱讀(303) 評論(0)  編輯 收藏 引用 所屬分類: slickedit

            国产午夜精品久久久久免费视| a高清免费毛片久久| 久久久久99这里有精品10 | 久久久久一级精品亚洲国产成人综合AV区| 无码人妻久久一区二区三区免费| 久久精品蜜芽亚洲国产AV| 色综合久久88色综合天天 | 日产久久强奸免费的看| 中文字幕无码精品亚洲资源网久久| 国产精品久久亚洲不卡动漫| 伊人伊成久久人综合网777| 精品国产一区二区三区久久久狼| 久久久久亚洲AV成人网人人网站 | 久久发布国产伦子伦精品| 久久精品亚洲精品国产欧美| 午夜精品久久久久久99热| 日本精品久久久久久久久免费| 久久免费的精品国产V∧| 婷婷综合久久中文字幕| 久久嫩草影院免费看夜色| 久久精品国产亚洲AV无码娇色| 久久精品亚洲精品国产欧美| 俺来也俺去啦久久综合网| 亚洲午夜福利精品久久| 久久国产精品国语对白| 久久精品国产91久久麻豆自制| 亚洲精品美女久久久久99| 日韩精品久久久久久久电影| 婷婷久久综合九色综合九七| 国产99久久九九精品无码| 久久精品免费一区二区三区| 欧美喷潮久久久XXXXx| 亚洲中文久久精品无码ww16| 国产精品久久久久久久app| 久久精品国产欧美日韩99热| 国内精品久久久久影院老司 | 久久精品一区二区三区不卡| 久久精品中文字幕无码绿巨人| 久久国产精品无码HDAV| 久久国产精品久久久| 久久精品中文字幕第23页|