Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ת£ºSSEÖ¸Áî½éÉܼ°ÆäC¡¢C++Ó¦ÓÃ

SSEÊÇÓ¢ÌØ¶ûÌá³öµÄ¼´MMXÖ®ºóÐÂÒ»´ú£¨µ±È»ÊǼ¸ÄêǰÁË£©CPUÖ¸Á£¬×îÔçÓ¦ÓÃÔÚPIIIϵÁÐCPUÉÏ¡£ÏÖÔÚÒѾ­µÃµ½ÁËIntel PIII¡¢P4¡¢Celeon¡¢Xeon¡¢AMD Athlon¡¢duronµÈϵÁÐCPUµÄÖ§³Ö¡£¶ø¸üеÄSSE2Ö¸Á½öµÃµ½ÁËP4ϵÁÐCPUµÄÖ§³Ö£¬ÕâÒ²ÊÇΪʲôÕâÆªÎÄÕÂÊǽ²SSE¶ø²»ÊÇSSE2µÄÔ­ÒòÖ®Ò»¡£ÁíÒ»¸öÔ­Òò¾ÍÊÇSSEºÍSSE2µÄÖ¸ÁîϵͳÊǷdz£ÏàËÆµÄ£¬SSE2±ÈSSE¶àµÄ½öÊÇÉÙÁ¿µÄ¶îÍ⸡µã´¦Àí¹¦ÄÜ¡¢64λ¸¡µãÊýÔËËãÖ§³ÖºÍ64λÕûÊýÔËËãÖ§³Ö¡£
SSEΪʲô»á±È´«Í³µÄ¸¡µãÔËËã¸ü¿ìÄØ£¿ÒòΪËüʹÓÃÁË128λµÄ´æ´¢µ¥Ôª£¬Õâ¶ÔÓÚ32λµÄ¸¡µãÊýÀ´½²£¬ÊÇ¿ÉÒÔ´æÏÂ4¸öµÄ£¬Ò²¾ÍÊÇ˵£¬SSEÖеÄËùÓмÆËã¶¼ÊÇÒ»´ÎÐÔÕë¶Ô4¸ö¸¡µãÊýÀ´Íê³ÉµÄ£¬ÕâÖÖÅú´¦Àíµ±È»¾Í»á´øÀ´Ð§ÂʵÄÌáÉý¡£ÎÒÃÇÔÙÀ´»Ø¹ËÒ»ÏÂSSEµÄÈ«³Æ£ºStream SIMD Extentions£¨Á÷SIMDÀ©Õ¹£©¡£SIMD¾ÍÊÇsingle instruction multiple data£¬Á¬ÆðÀ´¾ÍÊÇ“Êý¾ÝÁ÷µ¥Ö¸Áî¶àÊý¾ÝÀ©Õ¹”£¬´ÓÃû×ÖÎÒÃǾͿÉÒÔ¸üºÃµÄÀí½âSSEÊÇÈçºÎ¹¤×÷µÄÁË¡£
ËäÈ»SSE´ÓÀíÂÛÉÏÀ´½²Òª±È´«Í³µÄ¸¡µãÔËËã»á¿ì£¬µ«ÊÇËûËùÊܵÄÏÞÖÆÒ²ºÜ¶à£¬Ê×ÏÈ£¬ËäÈ»ËûÖ´ÐÐÒ»´ÎÏ൱ÓÚËĴΣ¬»á±È´«Í³µÄ¸¡µãÔËËãÖ´ÐÐ4´ÎµÄËÙ¶ÈÒª¿ì£¬µ«ÊÇËûÖ´ÐÐÒ»´ÎµÄËÙ¶ÈÈ´²¢Ã»ÓÐÏëÏóÖеÄÄÇô¿ì£¬ËùÒÔÒªÌåÏÖSSEµÄËÙ¶È£¬±ØÐëÓÐStream×öǰÌᣬ¾ÍÊÇ´óÁ¿µÄÁ÷Êý¾Ý£¬ÕâÑù²ÅÄÜ·¢»ÓSIMDµÄÇ¿´ó×÷Óá£Æä´Î£¬SSEÖ§³ÖµÄÊý¾ÝÀàÐÍÊÇ4¸ö32루¹²¼Æ128룩¸¡µãÊý¼¯ºÏ£¬¾ÍÊÇC¡¢C++ÓïÑÔÖеÄfloat[4]£¬²¢ÇÒ±ØÐëÊÇÒÔ16λ×ֽڱ߽ç¶ÔÆëµÄ£¨ÉÔºó»áÒÔ´úÂëÀ´½øÐвûÊÍ£¬¹ØÓڱ߽ç¶ÔÆëµÄ¸ÅÄ¶ÁÕß¿ÉÒԲο¼ÂÛ̳ÉÏµÄÆäËüÎÄÕ£¬¶¼»áÓкÜÏêϸµÄ½â´ð£¬ÎÒÕâÀï¾ÍË¡²»×¸ÊöÁË£©¡£Òò´ËÕâÒ²¸øÊäÈëºÍÊä³ö´øÀ´Á˲»ÉÙµÄÂé·³£¬Êµ¼ÊÉÏÖ÷ÒªÓ°ÏìSSE·¢»ÓÐÔÄܵľÍÊDz»Í£µÄ¶ÔÊý¾Ý½øÐи´ÖÆÒÔÊÊÓÃÓ¦ËüµÄÊý¾Ý¸ñʽ¡£
ÎÒÊÇÒ»¸öC++³ÌÐòÔ±£¬¶Ô»ã±à²¢²»ºÜÊ죬µ«ÎÒÓÖÏëÓÃSSEÀ´ÓÅ»¯ÎҵijÌÐò£¬ÎÒ¸ÃÔõô×öÄØ£¿ÐÒºÃVC++.netΪÎÒÃÇÌṩÁ˺ܷ½±ãµÄÖ¸ÁîCº¯Êý¼¶µÄ·â×°ºÍC¸ñʽÊý¾ÝÀàÐÍ£¬ÎÒÃÇÖ»ÐèÏñƽʱдC++´úÂëÒ»Ñù¶¨Òå±äÁ¿¡¢µ÷Óú¯Êý¾Í¿ÉÒԺܺõÄÓ¦ÓÃSSEÖ¸ÁîÁË¡£
µ±È»ÁË£¬ÎÒÃÇÐèÒª°üº¬Ò»¸öÍ·Îļþ£¬ÕâÀïÃæ°üÀ¨ÁËÎÒÃÇÐèÒªµÄÊý¾ÝÀàÐͺͺ¯ÊýµÄÉùÃ÷£º
#include <xmmintrin.h>
SSEÔËËãµÄ±ê×¼Êý¾ÝÀàÐÍÖ»ÓÐÒ»¸ö£¬¾ÍÊÇ£º
__m128£¬ËüÊÇÕâÑù¶¨ÒåµÄ£º
typedef struct __declspec(intrin_type) __declspec(align(16)) __m128 {
   float m128_f32[4];
} __m128;
¼ò»¯Ò»Ï£¬¾ÍÊÇ£º
struct __m128
{
   float m128_f32[4];
};
±ÈÈçÒª¶¨ÒåÒ»¸ö__m128±äÁ¿£


Ïà¹ØÎĵµ£º

ÓÃCдµÄ3DÃÔ¹¬

          Boss˵£¬Òª¿´OpenGL£¬¿´ÁË¿ìÒ»¸öÔ£¬×ÜËã³öÁ˸öÏñÑùµÄ¶«Î÷£¬ÓÃCдÁ˸ö3DÃÔ¹¬£¬
ËäȻֻÓÐ350ÐÐ
       ´úÂ룬²»¹ý±ßѧ±ßд£¬×ã×ãдÁËÒ»ÖÜʱ¼ä£¬»¹ÊÇСÓгɾ͸е쬻î»î»î£¡
         &n ......

C/C++ÓïÑÔ±à³ÌÐÞÑø2

21¡¢gotoÓï¾äµÄʹÓÃ
—————————
 
NÄêǰ£¬Èí¼þ¿ª·¢µÄÒ»´ú×Úʦ——µÏ½ÜË¹ÌØÀ­(Dijkstra)˵¹ý£º“goto statment is
harmful !!”£¬²¢½¨ÒéÈ¡ÏûgotoÓï¾ä¡£ÒòΪgotoÓï¾ä²»ÀûÓÚ³ÌÐò´úÂëµÄά»¤ÐÔ¡£
 
ÕâÀïÎÒҲǿÁÒ½¨Ò鲻ҪʹÓÃgo ......

³¹µ×Àí½âC¡¢C++¡¢Win32ÓëCOMÖеÄ×Ö·û´®

C/C++ÖеÄ×Ö·û´®ÎÊÌâÔÚÍøÉϵĽ²½âÒ»Ïò·Ç³£º¬ºý£¬´æÔÚ¸÷¸ö²ã´ÎµÄ¿â»ìÓá¢ÀÄÓõÄÇé¿ö£¬ÓÈÆäÊÇ¿í×Ö·ûÓëÕ­×Ö·ûµÈÎÊÌâºÜÄÑÕÒµ½ÓÐЧµÄ×ÊÁÏ£¬±¾ÆªËæ±Ê·ÖÏíÒ»ÏÂÎÒ³¤ÆÚÊÕ¼¯µ½µÄһЩ±È½Ï׼ȷµÄ×ÊÁÏÒÔ¼°¾Ý´ËµÃµ½µÄ¸öÈËÀí½â.
CÓïÑÔÖеÄ×Ö·û´®
CÓïÑÔÖÐÌṩÁËÁ½ÖÖ×Ö·ûÀàÐÍcharºÍwchar_t£¬CÓïÑÔʹÓÃ×Ö·ûÊý×éÀ´±íʾ×Ö·û´®£¬Í¬Ê±Ö§³ÖÁ½ÖÖÖ± ......

C/C++ extern

externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×Ö´´Òâ²úÆ·Íø .
Ëü¸æËß±àÒëÆ÷£¬ÆäÉùÃ÷µÄº¯ÊýºÍ±äÁ¿¿ÉÒÔÔÚ±¾Ä£¿é»òÆäËüÄ£¿éÖÐʹÓá£
1¡£¶ÔÓÚextern±äÁ¿À´Ëµ£¬½ö½öÊÇÒ»¸ö±äÁ¿µÄÉùÃ÷£¬Æä²¢²»ÊÇÔÚ¶¨Òå·ÖÅäÄÚ´æ¿Õ¼ä¡£Èç¹û¸Ã±äÁ¿¶¨Òå¶à´Î£¬»áÓÐÁ¬½Ó´íÎó
2¡£Í¨³££¬ÔÚÄ£¿éµÄÍ·ÎļþÖжԱ¾Ä£¿éÌṩ¸øÆäËüÄ£¿éÒýÓõ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ