±àÒë³öÀ´µÄc/c++³ÌʽµÄ²ÎÊýѹջ˳ÐòÖ»ºÍ±àÒëÆ÷Ïà¹Ø!
ÏÂÃæÁоÙÁËһЩ³£¼ûµÄ±àÒëÆ÷µÄµ÷ÓÃÔ¼¶¨
VC6:
µ÷ÓÃÔ¼¶¨ ¶ÑÕ»Çå³ý ²ÎÊý´«µÝ
__cdecl µ÷ÓÃÕß ´ÓÓÒµ½×ó,ͨ¹ý¶ÑÕ»´«µÝ
__stdcall º¯ÊýÌå ´ÓÓÒµ½×ó,ͨ¹ý¶ÑÕ»´«µÝ
__fastcall º¯ÊýÌå ´ÓÓÒµ½×ó,ÓÅÏÈʹÓüĴæÆ÷(ECX,EDX),È»ºóʹÓöÑÕ»
thiscall º¯ÊýÌå thisÖ¸ÕëĬÈÏͨ¹ýECX´«µÝ,ÆäËû²ÎÊý´ÓÓÒµ½×óÈëÕ»
__cdeclÊÇC£ÜC++µÄĬÈϵ÷ÓÃÔ¼¶¨; VCµÄµ÷ÓÃÔ¼¶¨Öв¢Ã»ÓÐthiscallÕâ¸ö¹Ø¼ü×Ö,ËûÊÇÀà³ÉÔ±º¯ÊýĬÈϵ÷ÓÃÔ¼¶¨;
C£ÜC++ÖеÄmain(»òwmain)º¯ÊýµÄµ÷ÓÃÔ¼¶¨±ØÐëÊÇ__cdecl,²»ÔÊÐí¸ü¸Ä;
ĬÈϵ÷ÓÃÔ¼¶¨Ò»°ãÄܹ»Í¨¹ý±àÒëÆ÷ÅäÖýøÐиü¸Ä,¼ÙÈçÄúµÄ´úÂëÒÀÀµÓÚµ÷ÓÃÔ¼¶¨,ÇëÃ÷È·Ö¸³öÐèҪʹÓõĵ÷ÓÃÔ¼¶¨;
C++Builder6:
µ÷ÓÃÔ¼¶¨ ¶ÑÕ»Çå³ý ²ÎÊý´«µÝ
__fastcall º¯ÊýÌå ´Ó×óµ½ÓÒ,ÓÅÏÈʹÓüĴæÆ÷(EAX,EDX,ECX),È»ºóʹÓöÑÕ» (¼æÈÝDelphiµÄregister)
(registerºÍ__fastcallµÈͬ)
__pascal º¯ÊýÌå ´Ó×óµ½ÓÒ,ͨ¹ý¶ÑÕ»´«µÝ
__cdecl µ÷ÓÃÕß ´ÓÓÒµ½×ó,ͨ¹ý¶ÑÕ»´«µÝ(ºÍC£ÜC++ĬÈϵ÷ÓÃÔ¼¶¨¼æÈÝ)
__stdcall º¯ÊýÌå ´ÓÓÒµ½×ó,ͨ¹ý¶ÑÕ»´«µÝ(ºÍVCÖеÄ__stdcall¼æÈÝ)
__msfastcall º¯ÊýÌå ´ÓÓÒµ½×ó,ÓÅÏÈʹÓüĴæÆ÷(ECX,EDX
Ïà¹ØÎĵµ£º
VB
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
MSComm1.CommPort = i1
MSComm1.PortOpen = True
MSComm1.InputMode = comInputModeBinary
MSComm1.InBufferCount = 0
& ......
Ò»¼ÒÖ®ÑÔ£¬»¶ÓÅÄש¹þ¡£
¡¡¡¡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 µ¥Ô´³ÌÐòµ½¿ÉÖ´ÐгÌÐò
±àÒë & ......
ÀîÈôÀÏÊ¦Ôø¾Ëµ£ºÊÀ½çÉϵijÌÐòÔ±·ÖÈýÖÖ£¬Ò»ÖÖÊÇÓÃEmacs£¬Ò»ÖÖÊÇÓÃVimµÄ£¬ÆäËüµÄ¹éΪµÚÈýÖÖ¡£ÆäÒâÊÇ˵Èç¹ûÒ»¸ö³ÌÐòÔ±Á½Õß¶¼²»Óõϰ£¬ÄÇ´óµÖÊDz»ÄÜ
¹éΪÈëÁ÷ÕßÐÐÁеġ£¶ÔʹÓÃC/C++µÄÈËÀ´Ëµ£¬ºÜ¶àÈËϲ»¶Emacs£¬¾Ý˵Óë¶ÔStallmanµÄ³ç°ÝÓë°®Îݼ°ÎÚÓйØ;-)¡¡µ±È»£¬EmacsÓëVimËä
È»ÔÚÎı¾±à¼·½ÃæµÄÐÔÄÜÊǵȼ۵쬵«Ê¹ÓÃÆðÀ´Á½Õ ......