DSPÖеÄCÓÅ»¯
C6000ϵÁÐDSPµÄÓ²¼þ×ÊԴΪ¸ßÐÔÄÜÌá¸ßÁ˱ØÒªÌõ¼þ£¬TI¹«Ë¾Ò²ÅäºÏC6000ÍÆ³öÁËÊÀ½çÉϵÚÒ»¸öЧÂʿɴï70£¥¡«80£¥µÄ»ã±àÓïÑÔ¼¶C±àÒëÆ÷£¬Ëü²úÉúµÄ´úÂëÆ½¾ùЧÂÊÊÇÒÔÍùDSP±àÒëÆ÷µÄ3±¶£¬ÈçºÎÀí½â²¢³ä·ÖÀûÓÃÕâЩÓÐÀû×ÊÔ´£¬Ê¹´úÂë´ïµ½ËùÆÚÍûµÄÐÔÄÜ£¬ÊDZ¾ÕµÄÖ÷Ìâ¡£
¢Ù µÚÒ»½×¶Î£ºÊôÓÚ´¿C½×¶Î£¬´Ëʱ²»ÐèÒªÁ˽âC6000µÄ֪ʶ£¬Ö»Ðè±£Ö¤´úÂëµÄÕýÈ·ÐÔ¡£
¢Ú µÚ¶þ½×¶Î£ºÀûÓñ¾Õ½éÉܵÄÓÅ»¯·½·¨¸Ä½øC´úÂë¡£
¢Û µÚÈý½×¶Î£º´ÓC³ÌÐòÖгé³ö¶ÔÐÔÄÜÓ°Ïì½Ï´óµÄº¯Êý£¬±àдÏßÐÔ»ã±à£¬ÔÙʹÓûã±àÓÅ»¯Æ÷ÓÅ»¯¸Ã¶Î´úÂ룻»òÖ±½Ó¶Ô¸Ãº¯Êý±àд±ê×¼»ã±à¡£
ÒÔÉÏÈý¸ö½×¶Î²»ÊDZØÐë¾¹ýµÄ£¬µ±ÔÚijһ½×¶ÎÒÑ»ñµÃÁËÆÚÍûµÄÐÔÄÜ£¬¾ÍÎÞÐè½øÈëÏÂÒ»¸ö½×¶Î
3.2±àÒëÑ¡Ïî
C6000
C/C++±àÒëÆ÷ÌṩÁË´óÁ¿µÄ±àÒëÑ¡Ï¹©Óû§ÔÚ±àÒëʱѡÔñʹÓá£ÕâЩѡÏîÖÐÓÐÒ»²¿·ÖÊÇÊÂÎñÐԵ쬱ÈÈçÑ¡ÔñÎļþ·¾¶ºÍ¿ØÖÆÊä³öÎļþ¸ñʽµÈ£»ÓÐÒ»²¿·ÖÖ±½ÓÓ°Ïì»ò¿ØÖƱàÒëÆ÷µÄÓÅ»¯¹ý³Ì£¬½ø¶øÓ°Ïì´úÂëµÄÓÅ»¯ÐÔÄÜ¡£
±àÒëÑ¡ÏîÊÇÒ»¸ö×Öĸ»òÕßÁ½¸ö×Öĸ£¬¶Ô´óСд²»Ãô¸Ð£¬Ç°ÃæÓÐÒ»¸ö“£”·ûºÅ£¬·ÖΪÈô¸ÉµÈ¼¶ºÍÖÖÀࣺ
1¡¢ ÔÚÓÅ»¯ÐÔÄܺÜÖØÒªµÄ³¡ºÏ±ÜÃâʹÓõģº
-g£ºÔÊÐí·ûºÅµ÷ÊÔ£¬ÒªÇó±àÒëÆ÷±àÒë³öµÄ“.out”Îļþ±£Áô·ûºÅµ÷ÊÔµÄÄÜÁ¦£¬¿ÉÒÔÔÚcÓïÑÔ¼¶±ð½øÐе÷ÊÔºÍÆÊÎö£¬¼«´óÏÞÖÆ´úÂëµÄÓÅ»¯¡£Ê¹ÓÃÁªºÏʹÓãg¡¢£mtºÍ£o3¿ÉÒÔ±£Ö¤Äܹ»½øÐзûºÅµ÷ÊÔµÄÇé¿öÏÂ×î´óÏ޶ȵÄÓÅ»¯¡£
-mu£º½ûֹʹÓÃÈí¼þÁ÷Ë®·½·¨±àÒë¡£
2¡¢ÓÃÓÚÐÔÄÜÓÅ»¯µÄ£º
-o£º ʹÄÜÈí¼þÁ÷Ë®ºÍÆäËûÓÅ»¯·½·¨¡£
-o0/-o1£¨register-level
optimizations/ local optimizations£©£º
· Á÷³ÌÓÅ»¯
· ¸ø±äÁ¿·ÖÅä¼Ä´æÆ÷
· Performs loop rotation
· Ïû³ýÎÞÓõĴúÂ룬¼ò»¯±í´ïʽ
· È¥³ý²»±ØÒªµÄ¾Ö²¿ÄÚ´æµÄ·ÖÅä
-o2(function-level optimizations):
· ÆôÓÃÈí¼þÁ÷Ë®
· Ñ»·ÓÅ»¯£¬ÈçÑ»·Õ¹¿ª
· È¥³ýÈßÓàµÄÈ«¾Ö±í´ïʽ¼°ÄÚ´æ·ÖÅä
-O3(file-level optimizations) :
· È¥³ýδµ÷Óõĺ¯Êý
· ¼ò»¯·µ»ØÖµÎÞÓõĺ¯Êý
·
Ïà¹ØÎĵµ£º
VB
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
MSComm1.CommPort = i1
MSComm1.PortOpen = True
MSComm1.InputMode = comInputModeBinary
MSComm1.InBufferCount = 0
& ......
Delphi Óë C/C++ Êý¾ÝÀàÐͶÔÕÕ±í
DelphiÊý¾ÝÀàÐÍC/C++
ShorInt
8λÓзûºÅÕûÊý
char
Byte
8λÎÞ·ûºÅÕûÊý
BYTE,unsigned short
SmallInt
16λÓзûºÅÕûÊý
short
Word
16λÎÞ·ûºÅÕûÊý
unsigned short
Integer,LongInt
32λÓзûºÅÕûÊý
int,long
Cardinal,LongWord/DWORD
32λÎÞ·ûºÅÕûÊý
unsigned long
Int6 ......
Ò»¼ÒÖ®ÑÔ£¬»¶ÓÅÄש¹þ¡£
¡¡¡¡1¡¢¿ÉÒÔ¿¼ÂÇÏÈѧϰC.
¡¡¡¡´ó¶àÊýʱºò£¬ÎÒÃÇѧϰÓïÑÔµÄÄ¿µÄ£¬²»ÊÇΪÁ˳ÉΪһ¸öÓïÑÔר¼Ò£¬¶øÊÇÏ£Íû³ÉΪһ¸ö½â¾öÎÊÌâµÄר¼Ò¡£×öÒ»¸öÓÐÓõijÌÐòÔ±£¬×öÒ»¸ö׬ǮµÄ³ÌÐòÔ±¡£ÎÒÃǵļÛÖµ£¬½«ÌåÏÖÔÚ¿Í»§¼ÛÖµÉÏ£¬¶ø²»ÊÇÓïÑÔдµÃºÃ²»ºÃ¿´¡£
¡¡¡¡C++ÊÇCµÄÒ»¸öÃæÏò¶ÔÏóµÄ½âÊÍ£¬C++ΪCÀ©³äÁË´ó¹æÄ£¹¤³ÌÓ¦ ......
int main(int argc,char *argv[])
argc(argument count):²ÎÊýµÄ¸öÊý£»
argv(argument value):²ÎÊýÖµ
argv[0] :ÎļþÃû
argv[1]£ºµÚÒ»¸ö²ÎÊý£¬argv[2];µÚ¶þ¸ö²ÎÊý£¬ÒÔ´ËÀàÍÆ¡£
±àÒëC
1 µ¥Ô´³ÌÐòµ½¿ÉÖ´ÐгÌÐò
±àÒë & ......
#include “stdio.h”
#include “stdlib.h”
#include “time.h”
int main( void )
{
long i = 10000000L;
clock_t start, finish;
double duration;
/* ²âÁ¿Ò ......