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

C³ÌÐòÓë»ã±à³ÌÐò»ìºÏ±à³Ì


C³ÌÐòÓë»ã±à³ÌÐòÏ໥µ÷ÓùæÔò
ΪÁËʹµ¥¶À±àÒëµÄCÓïÑÔ³ÌÐòºÍ»ã±à³ÌÐòÖ®¼äÄܹ»Ï໥µ÷Ó㬱ØÐëΪ×Ó³ÌÐò¼äµÄµ÷Óùæ
¶¨Ò»¶¨µÄ¹æÔò¡£ATPCS£¬¼´ARM£¬ Thumb¹ý³Ìµ÷Óñê×¼(ARM/Thumb Procedure Call
Standard)£¬ÊÇARM³ÌÐòºÍThumb³ÌÐòÖÐ×Ó³ÌÐòµ÷ÓõĻù±¾¹æÔò£¬Ëü¹æ¶¨ÁËһЩ×Ó³ÌÐò¼äµ÷ÓÃ
µÄ»ù±¾¹æÔò£¬Èç×Ó³ÌÐòµ÷Óùý³ÌÖеļĴæÆ÷µÄʹÓùæÔò£¬¶ÑÕ»µÄʹÓùæÔò£¬²ÎÊýµÄ´«µÝ¹æÔò
µÈ¡£
ÏÂÃæ½áºÏʵ¼Ê½éÉܼ¸ÖÖATPCS¹æÔò£¬Èç¹û¶ÁÕßÏëÁ˽â¸ü¶àµÄ¹æÔò£¬¿ÉÒԲ鿴Ïà¹ØµÄÊé
¼®¡£
1£® »ù±¾ATPCS
»ù±¾ATPCS¹æ¶¨ÁËÔÚ×Ó³ÌÐòµ÷ÓÃʱµÄһЩ»ù±¾¹æÔò£¬°üÀ¨ÏÂÃæ3·½ÃæµÄÄÚÈÝ£º
(1)¸÷¼Ä´æÆ÷µÄʹÓùæÔò¼°ÆäÏàÓ¦µÄÃû³Æ¡£
(2)Êý¾ÝÕ»µÄʹÓùæÔò¡£
(3)²ÎÊý´«µÝµÄ¹æÔò¡£
Ïà¶ÔÓÚÆäËüÀàÐ͵ÄATPCS£¬Âú×ã»ù±¾ATPCSµÄ³ÌÐòµÄÖ´ÐÐËٶȸü¿ì£¬ËùÕ¼ÓõÄÄÚ´æ¸üÉÙ¡£
µ«ÊÇËü²»ÄÜÌṩÒÔϵÄÖ§³Ö£º ARM³ÌÐòºÍThumb³ÌÐòÏ໥µ÷Ó㬠Êý¾ÝÒÔ¼°´úÂëµÄλÖÃÎÞ¹Ø
µÄÖ§³Ö£¬×Ó³ÌÐòµÄ¿ÉÖØÈëÐÔ£¬Êý¾ÝÕ»¼ì²éµÄÖ§³Ö¡£
¶øÅÉÉúµÄÆäËû¼¸ÖÖÌØ¶¨µÄATPCS¾ÍÊÇÔÚ»ù±¾ATPCSµÄ»ù´¡ÉÏÔÙÌí¼ÓÆäËûµÄ¹æÔò¶øÐγÉ
µÄ¡£ÆäÄ¿µÄ¾ÍÊÇÌṩÉÏÊöµÄ¹¦ÄÜ¡£
2£® ¼Ä´æÆ÷µÄʹÓùæÔò
¼Ä´æÆ÷µÄʹÓñØÐëÂú×ãÏÂÃæµÄ¹æÔò£º
    (1) ×Ó³ÌÐò¼äͨ¹ý¼Ä´æÆ÷R0¡«R3À´´«µÝ²ÎÊý¡£Õâʱ£¬¼Ä´æÆ÷R0¡«R3¿ÉÒÔ¼Ç×÷A0¡«A3¡£
     ±»µ÷ÓõÄ×Ó³ÌÐòÔÚ·µ»ØÇ°ÎÞÐè»Ö¸´¼Ä´æÆ÷R0¡«R3µÄÄÚÈÝ¡£
(2) ÔÚ×Ó³ÌÐòÖУ¬Ê¹ÓüĴæÆ÷R4¡«RllÀ´±£´æ¾Ö²¿±äÁ¿¡£Õâʱ£¬¼Ä´æÆ÷R4¡«R11¿ÉÒÔ
¼Ç×÷V1¡«V8¡£Èç¹ûÔÚ×Ó³ÌÐòÖÐʹÓõ½Á˼ĴæÆ÷V1¡«V8ÖеÄijЩ¼Ä´æÆ÷£¬×Ó³ÌÐò½øÈëʱ±ØÐë
±£´æÕâЩ¼Ä´æÆ÷µÄÖµ£¬ÔÚ·µ»ØÇ°±ØÐë»Ö¸´ÕâЩ¼Ä´æÆ÷µÄÖµ£»¶ÔÓÚ×Ó³ÌÐòÖÐûÓÐÓõ½µÄ¼Ä´æÆ÷
Ôò²»±Ø½øÐÐÕâЩ²Ù×÷¡£ÔÚThumb³ÌÐòÖУ¬Í¨³£Ö»ÄÜʹÓüĴæÆ÷R4¡«R7À´±£´æ¾Ö²¿±äÁ¿¡£
(3) ¼Ä´æÆ÷R12ÓÃ×÷×Ó³ÌÐò¼äscratch¼Ä´æÆ÷£¬¼Ç×÷IP¡£ÔÚ×Ó³ÌÐò¼äµÄÁ¬½Ó´úÂë¶ÎÖÐ
³£ÓÐÕâÖÖʹÓùæÔò¡£
(4) ¼Ä´æÆ÷R13ÓÃ×÷Êý¾ÝÕ»Ö¸Õ룬¼Ç×÷SP¡£ÔÚ×Ó³ÌÐòÖмĴæÆ÷R13²»ÄÜÓÃ×÷ÆäËûÓÃ;¡£
¼Ä´æÆ÷SPÔÚ½øÈë×Ó³ÌÐòʱµÄÖµºÍÍ˳ö×Ó³ÌÐòʱµÄÖµ±ØÐëÏàµÈ¡£
(5) ¼Ä´æÆ÷R14³ÆÎªÁ¬½Ó¼Ä´æÆ÷£¬¼Ç×÷LR¡£ËüÓÃÓÚ±£´æ×Ó³ÌÐòµÄ·µ»ØµØÖ·¡£Èç¹ûÔÚ
×Ó³ÌÐòÖб£´æÁË·µ»ØµØÖ·£¬¼Ä´æÆ÷R14Ôò¿ÉÒÔÓÃ×÷ÆäËûÓÃ;¡£
(6) ¼Ä´æÆ÷R15ÊdzÌÐò¼ÆÊýÆ÷£¬¼Ç×÷PC¡£Ëü²»ÄÜÓÃ×÷ÆäËûÓÃ;¡£
3.²ÎÊý´«µÝ¹æÔò
¸ù¾Ý²ÎÊý¸öÊýÊÇ·ñ¹Ì¶¨¿ÉÒÔ½«×Ó³ÌÐò·ÖΪ²ÎÊý¸öÊý¹Ì¶¨µÄ(nonvariadic)×Ó³ÌÐòºÍ²ÎÊý
¸öÊý¿É±äµÄ(variadic)×Ó³ÌÐò¡£


Ïà¹ØÎĵµ£º

C preprocessor

http://en.wikipedia.org/wiki/C_preprocessor
C preprocessor
from Wikipedia, the free encyclopedia
Jump to:navigation, search
The C preprocessor (cpp) is the preprocessor for the C programming language. In many C implementations, it is a separate program invoked by the compiler as the first part ......

strassen in c language.

#include<stdio.h>
#define N 8
void input(int n,int p[N][N])
{
 int i,j;
 for(i=0;i<n;i++)
 {
  printf("please input the %d line:\n",i+1);
  for(j=0;j<n;j++)
  {
  scanf("%d",&p[i][j]);
 }
}
 }
void output(int n,int p[N][N])
......

CÒÅÁôµÄ½á¹¹Ìø×ª ±±º£

1)          goto
goto Ö»ÄÜÔÚÒ»¸öº¯ÊýÄÚÌø×ª¡£½¨ÒéÉÙÓã¬Ê¹µÃ³ÌÐòά»¤ÆðÀ´ÈÝÒ׳ö´í£»µ«ÊÇ£¬ÔÚÓжà¸öÑ­»·Çé¿öÏÂÌø×ª£¬ÓÐʱÓÃgoto¿ÉÒÔʹµÃÎÊÌâ±äµÃ¼òµ¥¡£
class A
{
public:
A(){}
~A(){}
};
           &nbs ......

extern "C"(zz)


 ´ÓÄ³Î»ÍøÓѵIJ©¿Í¿´µ½¹ØÓÚextern "C"Ó÷¨µÄÎÄÕ£¬½²µÃ·Ç³£Í¸³¹£¬ÓÚÊǾÍÕª³­ÁËÎÒ֮ǰ²»ÉõÁ˽âµÄ²¿·Ö×ö¸öbackup¡£
Ò»¡¢´ÓCÓëC++±àÒëÁ¬½Ó·½Ê½ÉîÈëÀí½âextern "C"
<1>.CºÍC++¶Ôº¯ÊýµÄ´¦Àí·½Ê½ÊDz»Í¬µÄ.±»extern "C"ÐÞÊεıäÁ¿ºÍº¯ÊýÊǰ´ÕÕCÓïÑÔ·½Ê½±àÒëºÍÁ¬½ÓµÄ.extern "C"ÓÃÓÚʵÏÖC++ÓëC¼°ÆäËüÓïÑԵĻìºÏ±à³Ì¡ ......

C static

  CÓïÑÔ³ÌÐò¿ÉÒÔ¿´³ÉÓÉһϵÁÐÍⲿ¶ÔÏ󹹳ɣ¬ÕâЩÍⲿ¶ÔÏó¿ÉÄÜÊDZäÁ¿»òº¯Êý¡£¶øÄÚ²¿±äÁ¿ÊÇÖ¸¶¨ÒåÔÚº¯ÊýÄÚ²¿µÄº¯Êý²ÎÊý¼°±äÁ¿¡£Íⲿ±äÁ¿¶¨ÒåÔÚº¯ÊýÖ®Í⣬Òò´Ë¿ÉÒÔÔÚÐí¶àº¯ÊýÖÐʹÓá£ÓÉÓÚCÓïÑÔ²»ÔÊÐíÔÚÒ»¸öº¯ÊýÖж¨ÒåÆäËüº¯Êý£¬Òò´Ëº¯Êý±¾ÉíÖ»ÄÜÊÇ“ÍⲿµÄ”¡£
      ÓÉÓÚ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ