Õâ¶Î´úÂë´Óc++ת³ÉdelphiʱÓöµ½µÄÎÊÌâ
½ñÌìÓöµ½Ò»¶Î´úÂ룬
C++µÄд·¨ÊÇ
C/C++ code:
IClassFactory* pFactory = NULL;
pFactory->CreateInstance( NULL, riid, ppv);
ÕâÀïµÄIClassFactoryÕâ¸öinterfaceÔÚc++ºÍdelphiÀï¶¼Óж¨Ò壬createinterfaceµÄÈý¸ö²ÎÊý¾ßÌåÊÇʲô¶«Î÷¿ÉÒÔ²»ÓùÜËü
ÎÒ·Òë³ÉdelphiÈçÏ£º
Delphi(Pascal) code:
type piclassfactory=^iclassfactory;
var pfactory:piclassfactory;
pfactory.CreateInstance(nil,riid,ppv); »ò pfactory^.CreateInstance(nil,riid,ppv)
ÕâÁ½ÖÖд·¨ÔÚÓ÷´»ã±àÈí¼þ¿´µÄʱºò£¬½á¹ûÊÇÒ»ÑùµÄ¡£
µ«ÊÇʵ¼Êµ÷ÊÔʱ·¢ÏÖ
delphiµÄд·¨ÓÐÎÊÌâ
Èçc++µÄ´úÂë±àÒëÍêºóÓ¦¸ÃÊÇ
Assembly code:
.text:004F1728 10C mov esi, esp
.text:004F172A 10C mov eax, [ebp+arg_C]
.text:004F172D 10C push eax
.text:004F172E 110 mov ecx, [ebp+arg_8]
.text:004F1731 110 push ecx
.text:004F1732 114 push 0
.text:004F1734 118 mov edx, [ebp+pfactory]
.text:004F1737 118 mov eax, [edx]
.text:004F1739 118 mov ecx, [ebp+pfactory]
.text:004F173C 118 push ecx
.text:004F173D 11C mov edx, [eax+0Ch]
.text:004F1740 11C call edx
µ«
Ïà¹ØÎÊ´ð£º
ÎÊһϣº
#include <stdio.h>
int main()
{
char x, y, z;
int i;
int a[16];
for(i=0; i<=16; i++)
{
a[i] = 0;
......
ÎÒ°²×°µÄÊÇÆóÒµ°æ¡£¡£¡£
ÎÒÎÊÏ£¬ CTRL+×ó¼ü Äܲ鿴 windows.pas Âð£¿
¾ÍÊÇ ½Ó¿ÚÀïµÄwindows¡£
µ±È»¿ÉÒÔ,CTRL+×ó¼üµã»÷Interface²¿·ÖµÄWindows¾Í¿ÉÒÔÁË
ɶɶÆóÒµ°æ£¿È¥°²×°Ä¿Â¼¿´¿´libÎļþ¼ÐÏÂÓÐÃ»Ó ......
½ÓÊÕµ½µÄÎı¾ÄÚÈÝÊÇucs2±àÂë¸ñʽ£¬ÇëÎÊÔõÑùת»»³ÉÖÐÎÄ
°´ÎÒµÄÀí½â£¬UCS-2ÊÇ×Ö·û¼¯£¬¾ßÌåµÄ±àÂëÓÐUTF-8£¬UTF-16 (LE/BE)µÈ¡£
Èç¹ûÄãÓÃDelphi 2009¼°ÒÔÉϰ汾£¬¿ÉÒÔ¿´¿´TEncodingÀà¡£
btw. Äã˵µÄת»»³ÉÖÐÎÄÊÇɶÒâË ......
Çë½Ì¸÷·¸ßÊÖ¡£ÎäÁÖǰ±²¡£ÎÒ½«B.EXE×ö³É×ÊÔ´Îļþ£¬È»ºó¼Óµ½123.dllÖС£ÓÃA.EXEÀ´µ÷ÓÃ123.dllÖеÄB.EXE
Çë¸÷λǰ±²°ïæָ½ÌÏ¡£A.exeÈçºÎÀ´µ÷ÓÃdllÖеÄexe£¿´úÂëÓÖ¸ÃÈçºÎд£¿
ÎÞÈ˻شð£¿
×ö³É×ÊÔ´Î ......
VC++ ÖУ¬ &±äÁ¿Ãû¡£ ÊÇʲôÒâ˼¡£ DelphiÖÐ ºÍËûÒ»ÑùµÄ·ûºÅ ÊÇÄĸö¡¢£¿
´ó¼Ò¶¼ÈÏΪ£¬CÓïÑÔÖ®ËùÒÔÇ¿´ó£¬ÒÔ¼°Æä×ÔÓÉÐÔ£¬ºÜ´ó²¿·ÖÌåÏÖÔÚÆäÁé»îµÄÖ¸ÕëÔËÓÃÉÏ¡£Òò´Ë£¬ËµÖ¸ÕëÊÇCÓïÑÔµÄÁé»ê£¬Ò»µã¶¼²»Îª¹ý¡£Í¬Ê±£¬ ......