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

C³ÌÐòʹÓò»Í¬º¯Êýµ÷ÓÃÔ¼¶¨µ÷Óûã±à×Ó¹ý³Ì

Èç×ªÔØ£¬Çë×¢Ã÷³ö´¦£ºhttp://blog.csdn.net/zhangyang0402/archive/2010/05/01/5549266.aspx
 
¿ª·¢¹¤¾ß£ºVC ++ 6.0  MASM32
 
Ò»¡¢__cdeclµ÷Ó÷½Ê½
 
1£®  ÔÚVCÖÐн¨Win32 Console Application, TestASM
 
2£®  н¨test.c
#include<stdio.h>
extern void swap(int *px, int *py);
int main(void)
{
       int a=1, b=2;
       printf("before swaping, a=%d, b=%d\n", a, b);
       swap(&a, &b);
       printf("after  swaping, a=%d, b=%d\n", a, b);
    return 0;
}
 
3£®  ʹÓÃUltraEdit±à¼­»ã±à³ÌÐòswap.asm
.386
.MODEL FLAT, C
OPTION CASEMAP:NONE
.CODE
  swap PROC a:DWORD, b:DWORD
    PUSH ESI
    PUSH EDI
      MOV ESI, [EBP+8]
     MOV EAX, [ESI]    ;²ÎÊý1µÄÖµ->EAX
      MOV EDI, [EBP+12]
      XCHG EAX, [EDI]
      MOV [ESI], EAX
      POP EDI
      POP ESI
      RET
  swap ENDP
END
 
4£®  ½«swap.asmÌí¼Óµ½TestASM¹¤³ÌÖÐ
VC->Project->Add to project->Files, ÎļþÀàÐÍÑ¡Ôñ“ËùÓÐÎļþ”£¬Ñ¡Öлã±àÔ´Îļþswap.asm²¢Ìí¼Óµ½¹¤³Ì
»òÖ±½Ó±àÒëswap.asm£¬½«Éú³ÉµÄswap.obj¿½±´µ½¹¤³ÌĿ¼ÏÂ
5£®  ÔÚVCÖÐÉèÖûã±à³ÌÐò±àÒëÑ¡Ïî
ÔÚVCµÄFileViewÖУ¬ÓÒ»÷swap.asm->Settings, Çл»µ½“Custom Build”Ñ¡Ï£¬
ÔÚ“Command”ÖÐÊäÈ룺ml /c /coff  $(InputName).asm£¬
“Output”ÖÐÊäÈë £º$(InputName).obj
 
6£®  ±àÒëÁ´½ÓÖ´ÐÐ
Ë«»÷test.c->Compile£¬ Éú³Étest.obj
Ë«»÷swap.asm->Compile£¬ Éú³Éswap.obj
È»ºóBuild£¬ Éú³ÉTestASM.exe
×îºóÖ´ÐÐ
½á¹ûÈçÏÂ:
before swaping, a=1, b=2
after  swaping, a=2, b=1
Press any key to continue
 
¶þ¡¢__stdcallµ÷Ó÷½Ê½
1.CÔ´³ÌÐò
#include<stdio.h>
extern


Ïà¹ØÎĵµ£º

c²Ù×÷·­×ª×Ö·û´®


#include<stdio.h>
#include<malloc.h>
#include<string.h>
/*
* ·­×ª
*/
char *mystrrev(char *arr)
{
if (!arr)
{
return NULL;
}
char *temp = arr;
char t;
int leng = strlen(arr) + 1;
int l = (int)(leng / 2);
int i = 0;
while (l--)
{
t = arr[i];
arr[ ......

C++/CһЩÀàÐ͵Äȡֵ·¶Î§

long longµÄ×î´óÖµ£º9223372036854775807
long longµÄ×îСֵ£º-9223372036854775808
unsigned long longµÄ×î´óÖµ£º1844674407370955161
__int64µÄ×î´óÖµ£º9223372036854775807
__int64µÄ×îСֵ£º-9223372036854775808
unsigned __int64µÄ×î´óÖµ£º18446744073709551615
ÎҵĵçÄÔ¶Ô__int128²»Ö§³Ö£¬Õâ¸ö¿ÉÄÜÊÇÔ¤Áô¸ø½«À ......

C/C++ÃæÊÔÌâÁù£¨¾­µä) ¡¾×ª¡¿

1.ÇóÏÂÃæº¯ÊýµÄ·µ»ØÖµ£¨Î¢Èí£©
int func(x)
{
    int countx = 0;
    while(x)
    {
          countx ++;
          x = x&(x-1);
     } ......

C/C++ÖÐtypedefµÄÓ÷¨£¬¸æËßÄã²»Ò»ÑùµÄtypedef


<!--
/* Font Definitions */
@font-face
{font-family:ËÎÌå;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"\@ËÎÌå" ......

C/C++ÏÂASCIIÓëEBCDICÂëÖ®¼äµÄÇáËÉת»»

EBCDIC (Extended Binary Coded Decimal Interchange Code) À©Ôö¶þ½øÊ½Ê®½ø½»»»Â룬ΪIBMÓÚ1963Ä꣭1964Äê¼äÍÆ³öµÄ×Ö·û±àÂë±í£¬¸ù¾ÝÔçÆÚ´ò¿×»úʽµÄ¶þ½ø»¯Ê®½øÊý(BCD, Bindary Coded Decimal)ÅÅÁжø³É¡£ÊÇIBMÃÔ¶û¼¶ÒÔÉϵçÄԵıê×¼Âë¡£
ASCII£¨American Standard Code for Information Interchange£¬ÃÀ¹úÐÅÏ¢»¥»»±ê×¼´úÂë£©Ê ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ