?????????????У???????????????????????Щ????????????????????????????????????????????C???????
???????
????????????????У?????????????????????????豸????????????????????????JPEG?????????????Щ?ó??????и??????????????????У?????????Щ???????????????Щ????????????????????????????????????????????C???????
??????????C????????????к?????????????????????????????????????????????
???????????????????????е??????????????????????????????????????????????????????????????????????????????????PDA????????????к???????С???豸???д???????????????????????????????????????????????????????ú????????????涼????????
????????
???????????????????У?????????????ARM???????????????????ARM?????????????????????????????????????????????????????????????????á????????????????Ч??????????????????????????????????е??Щ????????????????????е???????????????????ARM??????
????????????????Щ??????
???????????????е?????????????????????????????????????????????????????Щ?????????Щ??????л?????????????????檔??г????????????????????????????е????
?????????????ж?????????????Щ???????????????????????????????
????????????о???????????????????????????????????????????????к?????????????????????????????????ù?Visual C++????????????profiler?????????????????????????????????ù??????????????Vtune????????????????????????????????????????飬???????????????????????????????????3??????л??????????????
??????????
?????????????????????????????unsigned int??????int????Щ???????????????unsigned ????????Ч?????????з???signed??????????????????????????????????????????????????
?????????????????????У????????int??????????÷??????
????register unsigned int variable_name;
?????????????in???????????????float???????????????????????????????????????FPU?????????????????????????????????????????????????????????洢????????????????????????????Ч????unsigned???????????????е?????????????
???????????????????У???????????????С???????λ???????????????100??????????????????????????????
???????????????
???????????????У????????????????32λ???????????20??140?????????????????????????????????????????????λ????????????
????Time (numerator / denominator) = C0 + C1* log2 (numerator / denominator)
????= C0 + C1 * (log2 (numerator) - log2 (denominator)).
????????ARM????????????汾???20+4.3N????????????????????????????t???????????С??????????????????????????????????磬???????????b??????????b*c????????????(a/b)>c?????д?a>(c*b)?????????????????????unsigned???????????unsigned?????????Щ??????????з???signed????Ч????
??????????????????
???????Щ?????У????????????x/y???????????x%y????????????????£????????????????????γ?????????????????????????????????????????????????????????????????д??????????????
????int func_div_and_mod (int a?? int b) {
????return (a / b) + (a % b);
????}
???????2????ν??г??????????
????????????е??????2????Σ????????????????????????????????λ????????г??????????????????????????ó????2????Σ?????64??????66?????????????????????unsigned???????????Ч??????з???signed???γ?????
????typedef unsigned int uint;
????uint div32u (uint a) {
????return a / 32;
????}
????int div32s (int a){
????return a / 32;
????}
??????????????????????????ó??????????????????unsigned???????????????????????????λ??0????????з???signed??????????????????С?
??????????????????
????????????????????????????????????????????????if???????????????????????????????
????uint modulo_func1 (uint count)
????{
????return (++count % 60);
????}
????uint modulo_func2 (uint count)
????{
????if (++count >= 60)
????count = 0;
????return (count);
????}
???????????if????????????????????????if?????????????????????°汾?????????????????????count????0??59???????????????
????????????±?
??????????????????????????????????????????????????????????
????switch ( queue ) {
????case 0 :   letter = 'W';
????break;
????case 1 :   letter = 'S';
????break;
????case 2 :   letter = 'U';
????break;
????}
????????????????
????if ( queue == 0 )
????letter = 'W';
????else if ( queue == 1 )
????letter = 'S';
????else
????letter = 'U';
?????????????????????????????±?????????????????£?
????static char *classes="WSU";
????letter = classes[queue];
??????????
????????????????λ???????С???????????????????????????????????????????????????????????????????????????У??????????????????????????????????????????????洢???????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????á????????£?
????int f(void);
????int g(void);
????int errs;
????void test1(void)
????{
????errs += f();
????errs += g();
????}
????void test2(void)
????{
????int localerrs = errs;
????localerrs += f();
????localerrs += g();
????errs = localerrs;
????}
???????test1???????????????????????洢??????errs???????test2?洢localerrs????????????????????????
??????????
???????????μ??????
????void func1( int *data )
????{
????int i;
????for(i=0; i<10; i++)
????{
????anyfunc( *data?? i);
????}
????}
????????*data????????δ????????????????????anyfunc?????????????????????????????????????????????ж??????????????????????????????????????????μ????
????void func1( int *data )
????{
????int i;
????for(i=0; i<10; i++)
????{
????anyfunc( *data?? i);
????}
????}
??????????????????????????????
????????????????????
??????????????м????????????????????????????????????е?洢?????????????
??????Щ?????????“??????????”??live-range splitting???????????????????????????????????????????????????С?????????????????????????е????θ???????????′θ???????????á?????????????????????????Ч??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????ü??????
?????????ü???????????????????????????в???????????????????????????????????????????????????????????????Щ????????????洢????檔????????????
?????????????????????????????????????????????????????????????????????£?
????????????????????????????????????????е????????С?ɡ??????????????????????????????С?????????????????Ч????
?????????????????????ü?????洢????????????????????????????????????????????????????洢???????С???????????????£?????????????????????????????
????????????
????C?????????????????char??short??int??long(?????з???signed???????unsigned????float??double???????????????????????????????????????????????С??????????????????
???????????
??????????t??????????char??short?????????????????char??short??????????????????θ???????????????????8????16λ????????з???????????з?????????????????????????????????Щ???????????????????24????16λ??????????????????????????λ????????????????μ?????????????????char?????????????????????μ?????????
??????????????int??unsigned int?????????????????????????λ????????????????????????????????????????????????????????????????????????????????8λ????16λ????????????32λ???????
???????????????????????
????int wordinc (int a)
????{
????return a + 1;
????}
????short shortinc (short a)
????{
????return a + 1;
????}
????char charinc (char a)
????{
????return a + 1;
????}
????????????????????????????????????????????????
???????
??????????t??????????????????????????????????????????????????????????У???????????????????????????????????????????????????????????????????????????????????ɡ?
????????????????????????????????????????????????????????????????????????????????????磺
????void print_data_of_a_structure ( const Thestruct  *data_pointer)
????{
????...printf contents of the structure...
????}
???????????????????????????????????????????const???Σ??????????????η?????????ж??????????????????????κζ???????????????????????????????????
?????????
???????????????????????????????磬???????????£?
????typedef struct { int x?? y?? z; } Point3;
????typedef struct { Point3 *pos?? *direction; } Object;
????void InitPos1(Object *p)
????{
????p->pos->x = 0;
????p->pos->y = 0;
????p->pos->z = 0;
????}
?????????????????????β???????????????p->pos????????????????p->pos->x??p->pos???????????????????????p->pos??????????????
????void InitPos2(Object *p)
????{
????Point3 *pos = p->pos;
????pos->x = 0;
????pos->y = 0;
????pos->z = 0;
????}
????????????????Object??????????Point3???????????????????????Point3???????????
???????????
??????????????????if??????????????ù??????????????????????????&&???????????????????á??????????????????????Σ??????????????????????????????????Ч???
????????????if??else??価?????????????洦??????????????????????д??????????????????д?????
?????????????????????????????????У?
????int g(int a?? int b?? int c?? int d)
????{
????if (a > 0 && b > 0 && c < 0 && d < 0)
????// grouped conditions tied up together//
????return a + b + c + d;
????return -1;
????}
???????????????????????????????????????д????
???????????????Χ???
??????????????????????????ж???????λ???????Χ??????磬????????????????λ????????????
????bool PointInRectangelArea (Point p?? Rectangle *r)
????{
????<span class="hljs-keyword">return</span> (p.x &gt;= r-&gt;xmin &amp;&amp; p.x &lt; r-&gt;xmax &amp;&amp;
????p.y &gt;= r-&gt;ymin &amp;&amp; p.y &lt; r-&gt;ymax);
????}
??????????????????????x>min && x
????bool PointInRectangelArea (Point p?? Rectangle *r)
????{
????return ((unsigned) (p.x - r->xmin) < r->xmax &&
????(unsigned) (p.y - r->ymin) < r->ymax);
????}
????????????????????
??????????????λ???????????????á????λ????????????MOV??ADD??AND??MUL??????????????????д????????????????????λ??N??Z???λ?????????0?????????????á?N??????????????????Z??????????????0??
????C?????У????????е?N??Z???λ???????????????????з?????????x=0??x==0??x!=0?????????????x==0??x!=0??????x>0????
????C????????ι??????????????????????????????????????????????????????????????????????????磺
????int aFunction(int x?? int y)
????{
????if (x + y < 0)
????return 1;
????else
????return 0;
????}
????????????????????ж??????????????????м????????????????????????????????????????C??????н?λ?????λ????????????????????????????????y?λ???C?????λ???V??????????????λ?????????????????磺
????int sum(int x?? int y)
????{
????int res;
????res = x + y;
????if ((unsigned) res < (unsigned) x) // carry set?  //
????res++;
????return res;
????}
???????????
??????if(a>10 && b=4)??????????У????AND???????????????????????????????硢????????????????????п?????????С?
??????switch()???????if…else…
?????????漰if…else…else…????????????ж?????磺
????if( val == 1)
????dostuff1();
????else if (val == 2)
????dostuff2();
????else if (val == 3)
????dostuff3();
???????switch???????
????switch( val )
????{
????case 1: dostuff1(); break;
????case 2: dostuff2(); break;
????case 3: dostuff3(); break;
????}
??????if()????У???????????????У?????????????????????????Ρ?Switch??????????????????????????????if…else…???????????е??????檔
?????????ж?
?????????????ж??????????????????У??????????????????
????if(a==1) {
????} else if(a==2) {
????} else if(a==3) {
????} else if(a==4) {
????} else if(a==5) {
????} else if(a==6) {
????} else if(a==7) {
????} else if(a==8)
????{
????}
???????????????????????????£?
????if(a<=4) {
????if(a==1)     {
????}  else if(a==2)  {
????}  else if(a==3)  {
????}  else if(a==4)   {
????}
????}
????else
????{
????if(a==5)  {
????} else if(a==6)   {
????} else if(a==7)  {
????} else if(a==8)  {
????}
????}
???????????£?
if(a<=4)
{
if(a<=2)
{
if(a==1)
{
/* a is 1 */
}
else
{
/* a must be 2 */
}
}
else
{
if(a==3)
{
/* a is 3 */
}
else
{
/* a must be 4 */
}
}
}
else
{
if(a<=6)
{
if(a==5)
{
/* a is 5 */
}
else
{
/* a must be 6 */
}
}
else
{
if(a==7)
{
/* a is 7 */
}
else
{
/* a must be 8 */
}
}
}
???????????????case???
??????????Ч?????????Ч?????
c=getch();
switch(c){
case 0:
{
do something;
break;
}
case 1:
{
do something;
break;
}
case 2:
{
do something;
break;
}
}