Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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


Ïà¹ØÎĵµ£º

¹¹½¨»ù±¾µÄLinux C ±à³Ì»·¾³ £¨×ªµÄÔõôÊղز»ÁË£©

  ¹¹½¨»ù±¾µÄLinux C ±à³Ì»·¾³ ÊÕ²Ø
±¾ÎÄ»ùÓÚdebian-40r0(ÄÚºË2.6.18)½éÉÜÒ»ÏÂÈçºÎÔÚÒ»¸ö±ê׼ϵͳÖй¹½¨Linux CµÄ»ù±¾±à³Ì¿ª·¢»·¾³¡£
Ò»¸öÍêÕûµÄ¿ª·¢»·¾³Ö÷Òª°üÀ¨Ëĸö²¿·Ö£º±ê×¼C¿â¡¢Í·Îļþ¡¢¹¤¾ßÁ´¡¢±à¼­Æ÷¡¢°ïÖúÎĵµ£¬ÏÂÃæÒÀ´Î½éÉÜ¡£
±ê×¼C¿âglibc
glibcÊÇgnu·¢²¼µÄlibc¿â£¬¼´cÔËÐп⡣glibcÊÇlinuxϵͳÖÐÄÚºËÖ ......

C/C++Êý×éÃûÓëÖ¸ÕëÇø±ðÉîÈë̽Ë÷

Ö¸ÕëÊÇC/C++ÓïÑÔµÄÌØÉ«£¬¶øÊý×éÃûÓëÖ¸ÕëÓÐÌ«¶àµÄÏàËÆ£¬ÉõÖÁºÜ¶àʱºò£¬Êý×éÃû¿ÉÒÔ×÷ΪָÕëʹÓá£ÓÚÊǺõ£¬ºÜ¶à³ÌÐòÉè¼ÆÕ߾ͱ»¸ãºýÍ¿ÁË¡£¶øÐí¶àµÄ´óѧÀÏʦ£¬ËûÃÇÔÚCÓïÑԵĽÌѧ¹ý³ÌÖÐÒ²´íÎóµÃ¸øѧÉú½²½â£º"Êý×éÃû¾ÍÊÇÖ¸Õë"¡£ºÜÐÒÔË£¬ÎҵĴóѧÀÏʦ¾ÍÊÇÆäÖÐÖ®Ò»¡£Ê±ÖÁ½ñÈÕ£¬ÎÒÈÕ¸´Ò»ÈյؽøÐÐ×ÅC/C++ÏîÄ¿µÄ¿ª·¢£¬¶øÉí±ß»¹Ò»Ö±³äÂúÕ ......

ÓÃC££¡¢JAVAÒ»´ÎÐÔÈ¡³ö´æ´¢¹ý³ÌÖеĸ÷ÖÖ·µ»ØÖµ

ÎÊÌ⣺ÔÚ´æ´¢¹ý³ÌÖУ¬ÓÐʱ»áÓöµ½±È½Ï±ä̬µÄ¶«Î÷£¬ÈçÒ»¸ö´æ´¢¹ý³ÌÖÐÓÐoutput·µ»ØÖµ£¬ÓÐreturn·µ»ØÖµ£¬»¹ÓвéѯµÄ·µ»ØÖµTABLE£¬Óöµ½ÕâÑùµÄ´æ´¢¹ý³ÌÕæÊÇÓôÃÆ£¬Ò»´ÎÐÔ°ÑËùÓеķµ»Øֵȡ³öÀ´»¹ÕæµÄÓеãÂé·³¡£
 
 
1¡¢  Ê×ÏÈÀ´¿´Õâ¸ö´æ´¢¹ý³Ì°É
 
CREATE  PROCEDURE ParaTest
@paraout varchar(20) ......

ÈçºÎÀí½âcºÍc++ µÄ¸´ÔÓÀàÐÍÉùÃ÷

Ôø¾­Åöµ½¹ýÈÃÄãÃԻ󲻽⡢ÀàËÆÓÚint * (* (*fp1) (int) ) [10];ÕâÑùµÄ±äÁ¿ÉùÃ÷Â𣿱¾ÎĽ«ÓÉÒ×µ½ÄÑ£¬Ò»²½Ò»²½½Ì»áÄãÈçºÎÀí½âÕâÖÖ¸´ÔÓµÄC/C++ÉùÃ÷¡£
¡¡¡¡ÎÒÃǽ«´ÓÿÌ춼ÄÜÅöµ½µÄ½Ï¼òµ¥µÄÉùÃ÷ÈëÊÖ£¬È»ºóÖð²½¼ÓÈëconstÐÞÊηûºÍtypedef£¬»¹Óк¯ÊýÖ¸Õ룬×îºó½éÉÜÒ»¸öÄܹ»ÈÃÄã׼ȷµØÀí½âÈκÎC/C++ÉùÃ÷µÄ“ÓÒ×ó·¨Ôò”¡£ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ