VCµ÷ÓÃDELPHI DLLÂÒÂë
Delphi(Pascal) code:
library HealthDocDll;
uses
SysUtils,
Classes,
Forms,
Dialogs,
Windows,
HealthDoc in 'HealthDoc.pas' {frmHealthDoc},
pub in 'pub.pas';
{$R *.res}
procedure ShowForm(DoctorName,UserName:string);
begin
sDoctorName:=DoctorName;
sUserName:=UserName;
showmessage(sdoctorname);
showmessage(susername);
end;
exports
ShowForm;
begin
C/C++ code:
HINSTANCE hDll;
hDll=LoadLibrary( _T("HealthDocDLL.DLL") );
typedef int(*func)(const char*,const char*);
func SmartWord= (func)GetProcAddress( hDll , "ShowForm" );
SmartWord( "aaaaaa" , "b" );
show³öÀ´µÄΪʲôÊÇÂÒÂ룿
thiscallÊÇɶ£¿
Õâ²»»¹ÊÇÄǸöÎÊÌâÂð£¬Äã°ÑÁ½±ß¶¼¸Ä³É stdcall,ÌýÎÒµÄ
¸Õ²Å´ò´íÁË£¬
stdcall³ö´í
delphi²à:
procedure ShowForm(DoctorName,UserName:string);stdcall;
vc²à:
typedef int(_stdcall *func)(const char*,const char*);
ÒÀÈ»³ö´í£¬ÒÀÈ»ÂÒÂë
¿ÉÒÔÁË£¬Ð»Ð»£¬¸öÈË·¸µÄ´íÎó£¬ÀÍ·³´ó¼ÒÁË
ÄܰÑÄãµÄdll·¢µ½ÎÒÓÊÏäÂð£¬lxqiang123321@163.com
Ïà¹ØÎÊ´ð£º
VC ¿ØÖÆÌ¨³ÌÐò:
#include <iostream>
using namespace std;
int main()
{
const int def_buffer = 1024 * 4;
DWORD t;
BYTE b[def_buffer];
memset(b, 0, sizeof(b));
PBYTE p;
t = GetTickC ......
Ò»Ö±ÏëʹÓÃdll£¬µ«delphiµÄdll×Ó´°Ìå¾³£Óи÷ÖÖÎÊÌ⣬±ÈÈçÖ÷´°¿ÚÓëdll×Ó´°¿ÚµÄ½¹µãÎÊÌ⣬×Ó´°¿ÚÖпؼþµÄtab¼ü¡¢Èȼü¡¢enter¼üµÈµÄÎÊÌ⣬×Ó´°¿ÚÍ˳öµÄÎÊÌâ¡¢Æ½Ãæ°´Å¥ÎÊÌâµÈµÈ£¬ÍøÕ¾ÉϽøÐÐÁËËÑË÷£¬Ã»ÓбȽÏÍêÃÀµÄ½â¾ö· ......
1¡¢ÎÒÄÜ·ñÔÚdelphiÀïµ÷ÓÃÁíÍâÒ»¸öºǫ́³ÌÐò£¬µ«ÊÇÎÒ²»ÐèÒªµÈ´ýÕâ¸öºǫ́³ÌÐòÖ´ÐÐÍê³É£¬»¹¿ÉÒÔ¼ÌÐøÖ´ÐбðµÄ³ÌÐò¡£ÇëÎʾßÌåÔõôÑù²ÅÄÜʵÏÖ¡£
2¡¢ÎÒÄÜ·ñÔÚdelphiÉÏÖ´ÐÐÒ»¸ö¿ì½Ý¼ü£¬Ê¹delphi´°¿Ú³ÌÐòÄܹ»Ë¢ÐÂһϡ£[/size ......
²»ºÃÒâ˼£¬You are fooled£¡
¹þ¹þ£¬ÓÞÈ˽ڿìÀÖ£¡ÎÒÒªÄÜÈ«¸ãµ½£¬ÎÒ¾ÍÈ¥¹ú¼Ò°²È«¾ÖÁË£¡
ºÇ£¬Äã»¹ÕæÏñ°²È«¾ÖµÄ
b4
¹þ¹þ£¡
ÕæºÃ
b4
ÎÒµ¹
¹þ¹þ£¡
½ñÌìÒ»¶¨ÒªÇõ¹Ò»個»ðÐǵġ£
ÕâÀïÓÐºÜ ......
ËÄܸøÎÒ¸ö¼òµ¥µÄÀý×Ó
delphi½ÓÊÜUDPÊý¾Ý°üµÄ Òª½ÓÊÕÊý×éµÄ
×îºÃÊÇÓà IdTCPserver1µÄ
×îºÃ»¹Óз¢Ë͵IJ¿·Ö
±¾È˲ËÄñ£¬Ð»Ð»¸÷λÁË£¡£¡
Â¥ÉϸøµÄÊÇTCPµÄ°É ÎÒÒªUDPµÄ
лл£¡£¡
ÒýÓÃ
×îº ......