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

C#µ÷ÓÃC DLL

ÔÚºÏ×÷¿ª·¢Ê±£¬C#ʱ³£ÐèÒªµ÷ÓÃC++DLL£¬µ±´«µÝ²ÎÊýʱʱ³£Óöµ½ÎÊÌ⣬ÓÈÆäÊÇ´«µÝºÍ·µ»Ø×Ö·û´®ÊÇ£¬ÏÖ×ܽáһϣ¬·ÖÏí¸ø´ó¼Ò£º
VC++ÖÐÖ÷Òª×Ö·û´®ÀàÐÍΪ£ºLPSTR,LPCSTR, LPCTSTR, string, CString, LPCWSTR, LPWSTRµÈ
µ«×ªÎªC#ÀàÐÍÈ´²»ÍêÈ«Ïàͬ¡£
Ö÷ÒªÓÐÈçϼ¸ÖÖת»»£º
½«stringתΪIntPtr£ºIntPtr System.Runtime.InteropServices.Marshal.StringToCoTaskMemAuto(string)
½«IntPtrתΪstring£ºstring System.Runtime.InteropServices.MarshalPtrToStringAuto(IntPtr)
ÀàÐͶÔÕÕ£º
BSTR ---------  StringBuilder
LPCTSTR --------- StringBuilder
LPCWSTR ---------  IntPtr
handle---------IntPtr
hwnd-----------IntPtr
char *----------string
int * -----------ref int
int &-----------ref int
void *----------IntPtr
unsigned char *-----ref byte
StructÐèÒªÔÚC#ÀïÖØÐ¶¨ÒåÒ»¸öStruct
CallBack»Øµ÷º¯ÊýÐèÒª·â×°ÔÚÒ»¸öίÍÐÀdelegate static extern int FunCallBack(string str);
×¢ÒâÔÚÿ¸öº¯ÊýµÄÇ°Ãæ¼ÓÉÏpublic static extern +·µ»ØµÄÊý¾ÝÀàÐÍ,Èç¹û²»¼Ópublic ,º¯ÊýĬÈÏΪ˽Óк¯Êý£¬µ÷Óþͻá³ö´í¡£
ÔÚC#µ÷ÓÃC++ DLL·â×°¿âʱ»á³öÏÖÁ½¸öÎÊÌ⣺
1£® Êý¾ÝÀàÐÍת»»ÎÊÌâ
2£® Ö¸Õë»òµØÖ·²ÎÊý´«ËÍÎÊÌâ
    Ê×ÏÈÊÇÊý¾ÝÀàÐÍת»»ÎÊÌâ¡£ÒòΪC#ÊÇ.NETÓïÑÔ£¬ÀûÓõÄÊÇ.NETµÄ»ù±¾Êý¾ÝÀàÐÍ£¬ËùÒÔʵ¼ÊÉÏÊǽ«C++µÄÊý¾ÝÀàÐÍÓë.NETµÄ»ù±¾Êý¾ÝÀàÐͽøÐжÔÓ¦¡£
    ÀýÈçC++µÄÔ­Óк¯ÊýÊÇ£º
int __stdcall FunctionName(unsigned char param1, unsigned short param2)
    ÆäÖеIJÎÊýÊý¾ÝÀàÐÍÔÚC#ÖУ¬±ØÐëתΪ¶ÔÓ¦µÄÊý¾ÝÀàÐÍ¡£È磺
[DllImport(“ COM DLL path/file ”)]
extern static int FunctionName(byte param1, ushort param2)
    ÒòΪµ÷ÓõÄÊÇ__stdcallº¯Êý£¬ËùÒÔʹÓÃÁËP/InvokeµÄµ÷Ó÷½·¨¡£ÆäÖеķ½·¨FunctionName±ØÐëÉùÃ÷Ϊ¾²Ì¬Íⲿº¯Êý£¬¼´¼ÓÉÏextern staticÉùÃ÷Í·¡£ÎÒÃÇ¿ÉÒÔ¿´µ½£¬ÔÚµ÷ÓõĹý³ÌÖУ¬unsigned char±äΪÁËbyte£¬unsigned short±äΪÁËushort¡£±ä»»ºó£¬²ÎÊýµÄÊý¾ÝÀàÐͲ»±ä£¬Ö»ÊÇÉùÃ÷·½Ê½±ØÐë¸ÄΪ.NETÓïÑԵĹ淶¡£
    ÎÒÃÇ¿ÉÒÔͨ¹ýϱíÀ´½øÐÐÕâÖÖת»»£º
Win32 Types
CLR Type
char, INT8, SBYTE, CHAR
System.SByte
short, short int, INT16, SHORT
System.Int16
int, long, long int, I


Ïà¹ØÎĵµ£º

C# Á¬½ÓOracleÊý¾Ý¿â


C#Á¬½ÓOracleÊý¾Ý¿â×Ö·û´®
http://developer.51cto.com
 2009-08-20 17:55  ØýÃû  °Ù¶È¿Õ¼ä  ÎÒÒªÆÀÂÛ(
0
)
C#Á¬½ÓOracleÊý¾Ý¿âÒÔ¼°C#Á¬½ÓOracleÊý¾Ý¿â×Ö·û´®µÈÄÚÈݽ«ÔÚ±¾ÎÄÖÐÕ¹ÏÖ£¬Ï£Íû±¾ÎÄÄܶԴó¼ÒÁ˽âC#Á¬½ÓÊý¾Ý¿âÓÐËù°ïÖú¡£
C#Á¬½ÓOracleÊý¾Ý¿â×Ö·û´®£¨²éѯÊý¾Ý£©
using
 Syst ......

WindowsÇý¶¯¿ª·¢:ÓÃC»¹ÊÇC++

 ÔÚ×öwindowsÇý¶¯³ÌÐò¿ª·¢Ö®Ç°£¬Ê×ÏÈҪȷ¶¨¿ª·¢µÄÓïÑÔ¡£ÔÚ³£¼ûµÄ±à³ÌÓïÑÔÖУ¬ÎÒÃÇ¿ÉÒÔÑ¡ÔñC¡¢C++¡¢»ã±àÓïÑÔÉõÖÁDelphi¡£²»¹ýÓÉÓÚ
΢ÈíÌṩµÄDDK¿ª·¢»·¾³ËùÌṩµÄÎļþºÍÁ´½ÓÓõĿâÖ»Ö§³ÖCºÍC++ÓïÑÔ¡£ËùÒÔÒ»°ã¶¼²ÉÓÃC»òÕßC++¡£
ʹÓÃCÓïÑÔ£¬ÊDZȽÏÈÝÒ×ÉÏÊÖ£¬ÒòΪºÜ¶àÈ˶¼ÊÇ´ÓѧϰCÓïÑÔ¶øÑ§Ï°³ÌÐò¿ª·¢µÄ£¬¶øÔÚÇý¶¯¿ª·¢µÄ ......

eclipse IDE for CµÄ¿ª·¢¹¤¾ß

ϰ¹ßÓÃRAD7,ËùÒÔÓÃÆðÀ´eclipse for C ûÓÐÎÊÌâ¡£
ÏÂÔØeclipse3.5:
°²×°£ºmingw£¨Èç¹ûÓÃC++, ¾ÍҪѡÉÏg++£©
°²×°£ºmsys
°²×°ºó£¬ÒªÉèÖÃһϻ·¾³±äÁ¿£º
ÔÚpathÀïÃæ¼ÓÈëmingwºÍmsysµÄbinĿ¼·¾¶¡£È磺c:\mingw\bin;c:\msys\bin
´ò¿ªeclipseн¨Ò»¸öc  project!
È»ºó¾Í¿ÉÒÔÓÃÁË,ÒòΪËüÒѾ­°ïÄãÕÒµ½ÁËGCC make ÁË¡£ ......

C/S½á¹¹Web»¯£¬ÆÆ³ýERP·Ö²¼Ä£Ê½Æ¿¾±

2009Ä꣬¾­¼ÃΣ»úÁýÕÖϵÄÖйú¹ÜÀíÈí¼þÐÐÒµ£¬ÓëÍùÄêÏà±È¾²Ä¬ÁËÐí¶à¡£²»¾Ãǰ£¬SAPÖйúÑо¿Ôº×ܲÃÜÇÏé÷ëÅúÆÀ¹ú²úÈí¼þ¼¼Êõ»¹Í£ÁôÔÚ10Äêǰ¿Í»§¶Ë(Clien/Server)¼Ü¹¹Ë®Æ½£¬Òý·¢Òµ½çÒ»³¡´óÂÛÕ½¡£ÄÇôÖйú¹ÜÀíÈí¼þ¼¼ÊõÊÇ·ñÕæµÄÒѾ­Âäºó?
¡¡¡¡C/SÓ¦ÓÃÈÔÓÐÓÅÊÆ
¡¡¡¡ÄÇôÖйú¹ÜÀíÈí¼þ¼¼ÊõÊÇ·ñÒѾ­Âäºó?
¡¡¡¡C/S½á¹¹³ÌÐòÓëB/S(Web) ......

¡¾C\C++ÓïÑÔÈëÃÅÆª¡¿ »ù±¾Êý¾ÝÀàÐÍ

ǰһƪÎÒÃǽéÉÜÁËÒ»¸ö¼òµ¥²»¹ýµÄhelloworld³ÌÐòÒý³öÏà¹ØÎÊÌâ¡£³Ã×Å»¹Ã»ÓÐÍüµôÄÇЩ˼¿¼·½Ê½µÄ¼ÇÒ䣬±¾Æª¼ÌÐøÑÓÐøÕâÖÖ˼ά·½Ê½µÄÀíÄ½éÉÜÒ»ÏÂCC++ÖеĻù±¾Êý¾ÝÀàÐÍ¡£Êý¾ÝÀàÐͲ»Çå³þµÄ»°ÔÚÒÔºóµÄ±à³ÌÖлáÓкܶàÃÕÍźÍÎÊÌâ¡£ÉõÖÁÒ»¸ö³ÌÐòµÄBUGÕÒ°ëÌìҲûÓÐÕÒ³öÀ´Ê±ÎªÊ²Ã´£¬½á¹û²Å·¢ÏÖÊǼӼõÒç³öÁË¡£¸ü¼ÓÑÏÖØµÄ»¹ÓÐдԽ½ç¡¢¶ÁÔ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ