DSP CÓÅ»¯2
3.4Àí½â±àÒëÆ÷µÄ·´À¡ÐÅÏ¢
ÔÚ±àÒëC´úÂëʱ£¬±àÒëÆ÷ÔÚ²úÉúµÄ.asmÎļþÀïÏò³ÌÐòÔ±·´À¡ÁËÐí¶àÐÅÏ¢£¬Àí½âÕâЩÐÅÏ¢£¬°´ËüµÄÌáʾÐÞ¸ÄC´úÂ룬¶Ô¾¡¿ìÓÅ»¯´úÂëºÜÓкô¦¡£Ö»ÒªÓÃ-kÁî±àÒëÆ÷±£Áô.asmÎļþ£¬¾Í¿É¶Áµ½ÕâЩÐÅÏ¢¡£
¶ÔÓÚCÓÅ»¯£¬Öصã¾ÍÊÇÑ»·£¬¶ÔÓÚ·´À¡ÐÅÏ¢£¬ÎÒÃÇÖ÷Òª¿¼²ì±àÒëÆ÷¶ÔÁ÷Ë®ÏߵıàÅÅ£¬±àÒëÆ÷±àÒëÑ»·³ÌÐòÒª¾¹ý3¸ö½×¶Î£º
1¡¢ ¿¼²ìÕâ¸öÑ»·ÄÜ·ñʹÓÃÈí¼þÁ÷Ë®£»
2¡¢ ÊÕ¼¯Ñ»·ÐèÒªÓõ½µÄ×ÊÔ´¼°Ïà¹ØÍ¼ÐÅÏ¢£»
3¡¢ ¶ÔÑ»·×öÈí¼þÁ÷Ë®±àÅÅ¡£
±àÒëÆ÷·´À¡µÄÐÅÏ¢¾ø´ó²¿·ÖÊÇÉÏÊö3¸ö½×¶ÎµÄÐÅÏ¢£¬ÏÂÃæÒÔ±àÒëÆ÷¶ÔÀý3-1µÄ·´À¡ÐÅϢΪÀý×÷һЩ˵Ã÷¡£
Àý3-1 ÇóÁ½¸öÊý×éºÍ
void main()
{
short x[100],y[100],sum[100]; //hfgfhfsdg
int i;
for (i = 0; i < 100; i++)
{
x[i] = y[i] = i;
}
for (i
= 0; i < 100; i++)
{
sum[i] = x[i] + y[i];
}
}
ÓÃ-k -o3Ñ¡Ïî½øÐбàÒ룬µÃµ½ÈçÏ·´À¡ÐÅÏ¢£º
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop source line : 15
;* Loop
opening brace source line : 16
;* Loop
closing brace source line : 18
;* Loop
Unroll Multiple : 8x
;* Known Minimum Trip Count : 12
;* Known Maximum Trip Count : 12
Ïà¹ØÎĵµ£º
constÊÇÒ»¸öCÓïÑԵĹؼü×Ö£¬ËüÏÞ¶¨Ò»¸ö±äÁ¿²»ÔÊÐí±»¸Ä±ä¡£Ê¹ÓÃconstÔÚÒ»¶¨³Ì¶ÈÉÏ¿ÉÒÔÌá¸ß³ÌÐòµÄ½¡×³ÐÔ£¬ÁíÍ⣬ÔÚ¹Û¿´±ðÈË´úÂëµÄʱºò£¬ÇåÎúÀí½âconstËùÆðµÄ×÷Ó㬶ÔÀí½â¶Ô·½µÄ³ÌÐòÒ²ÓÐһЩ°ïÖú¡£
¡¡¡¡ËäÈ»ÕâÌýÆðÀ´ºÜ¼òµ¥£¬µ«Êµ¼ÊÉÏ£¬constµÄʹÓÃÒ²ÊÇcÓïÑÔÖÐÒ»¸ö±È½Ï΢ÃîµÄµØ·½£¬Î¢ÃîÔںδ¦ÄØ£¿Çë¿´ÏÂÃæ¼¸¸öÎÊÌâ¡£
¡¡¡¡ÎÊÌâ ......
¹þ¹þ£¡ÓÐÐÒÔÚÄ³ÍøÕ¾·¢ÏÖÕâÆªÎÄÕ£¬¶Á°Õ£¬¾õµÃÂùÓеÀÀí£¬·¢À´´ó¼ÒÒ»Æð¹²ÃãÖ®
×ÜÊDZ»Í¬Ñ§ÃÇÎʵ½£¬ÈçºÎѧϰCºÍC++²Å²»Ã£È»£¬²Å²»ÊÇÂÒѧ£¬ÏëÁËһϣ¬ÕâÀï¸ø³öÒ»¸ö×ܵĻظ´¡£
¡¡¡¡Ò»¼ÒÖ®ÑÔ£¬»¶ÓÅÄש¹þ¡£
¡¡¡¡1¡¢¿ÉÒÔ¿¼ÂÇÏÈѧϰC.
¡¡¡¡´ó¶àÊýʱºò£¬ÎÒÃÇѧϰÓïÑÔµÄÄ¿µÄ£¬²»ÊÇΪÁ˳ÉΪһ¸öÓïÑÔר¼Ò£¬¶øÊÇÏ£Íû ......
#include “stdio.h”
#include “stdlib.h”
#include “time.h”
int main( void )
{
long i = 10000000L;
clock_t start, finish;
double duration;
/* ²âÁ¿Ò ......
(ת)C++ÖÐextern “C”º¬ÒåÉî²ã̽Ë÷
1.ÒýÑÔ
¡¡¡¡C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌØµã£¨±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏó&rdquo ......