C# µ÷Óà c++ dll µÄһЩÎÊÌâ×ܽá
1.c++µÄµ½´¦º¯ÊýÖ»ÒªÔÚº¯ÊýÉêÃ÷µÄʱºò¼Ó¸öµ¼³ö¹Ø¼ü×־ͿÉÒÔÁË
2.²ÎÊýÀàÐÍÎÊÌâ,
Ò»°ãµÄc++ÖÐchar * ¶ÔÓ¦ c#ÖеÄstring
¶øc++ÖÐ char **ÀàÐ͵IJÎÊý¶ÔÓ¦c#ÖÐ ref string ÕâÖÖÒ»°ã¶¼ÊÇÓÃÀ´·µ»Ø×Ö·û´®µÄ!
3.º¯ÊýÈë¿ÚÎÊÌâ,Ò»°ã»á³öÏÖ "ÕÒ²»µ½Èë¿Úµã" Õâ¸öÎÊÌâ²»ÊÇÓÉÄãÒýÆðµÄ,¶øÊÇϵͳ×Ô¼º°ÑÃû×Ö¸ÄÁË,¸Ä³ÉʲôÑùµÄÃû×Ö½¨ÒéÄãÓÃeXeScope ´ò¿ªdll¿´¿´ÀïÃæµÄÈ«³Æ,±ÈÈçÎÒ´ÓÍøÉÏÏÂÔØµÄÒ»¸ödllµÄµ¼³ö·½·¨Áбí
µ¼³ö, CryptoPP32.dll
ÐòÁÐ µØÖ· Ãû×Ö
00000001 100489D0 ?Base64DecodeFile@CryptoPP32@@YA_NPBD0@Z
00000002 1004FAC0 ?Base64DecodeString@CryptoPP32@@YA_NPBDPAPAD@Z
00000003 100488E0 ?Base64EncodeFile@CryptoPP32@@YA_NPBD0@Z
00000004 1004F960 ?Base64EncodeString@CryptoPP32@@YA_NPBDPAPAD@Z
00000005 10045EB0 ?FreeString@CryptoPP32@@YAXPAD@Z
00000006 10048800 ?GunzipFile@CryptoPP32@@YA_NPBD0@Z
00000007 10048720 ?GzipFile@CryptoPP32@@YA_NPBD0H@Z
00000008 10048E30 ?HMAC_SHA1_DecryptFile@CryptoPP32@@YA_NPBD00@Z
00000009 10048B90 ?HMAC_SHA1_DecryptString@CryptoPP32@@YA_NPBD0PAPAD@Z
0000000A 10048D40 ?HMAC_SHA1_EncryptFile@CryptoPP32@@YA_NPBD00@Z
0000000B 1004B540 ?HMAC_SHA1_EncryptString@CryptoPP32@@YA_NPBD0PAPAD@Z
0000000C 10048AB0 ?HexDecodeFile@CryptoPP32@@YA_NPBD0@Z
0000000D 1004FE10 ?HexDecodeString@CryptoPP32@@YA_NPBDPAPAD@Z
0000000E 1004B3D0 ?HexEncodeFile@CryptoPP32@@YA_NPBD0@Z
0000000F 1004FC20 ?HexEncodeString@CryptoPP32@@YA_NPBDPAPAD@Z
00000010 1004C260 ?RSAES_OAEP_DecryptString2@CryptoPP32@@YA_NPBD0PAPAD@Z
00000011 1004CD60 ?RSAES_OAEP_DecryptString@CryptoPP32@@YA_NPBD00000000PAPAD@Z
00000012 1004C4C0 ?RSAES_OAEP_DecryptString@CryptoPP32@@YA_NPBD0PAPAD@Z
00000013 1004B780 ?RSAES_OAEP_EncryptString2@CryptoPP32@@YA_NPBD0PAPAD0@Z
00000014 1004C790 ?RSAES_OAEP_EncryptString@CryptoPP32@@YA_NPBD00PAPAD0@Z
00000015 1004BCF0 ?RSAES_OAEP_EncryptString@CryptoPP32@@YA_NPBD0PAPAD0@Z
00000016 10049220 ?RSAES_OAEP_GenKeyFiles@CryptoPP32@@YA_NPBD0I0@Z
00000017 100498E0 ?RSAES_OAEP_GenKeyStrings@CryptoPP32@@YA_NPAPAD0IPBD@Z
00000018 1004DDB0 ?RSAES_PKCS_DecryptString2@CryptoPP32@@YA_NPBD0PAPAD
Ïà¹ØÎĵµ£º
1. ÃüÃû¹æ·¶
a) Àà
¡¾¹æÔò1-1¡¿Ê¹ÓÃPascal¹æÔòÃüÃûÀàÃû£¬¼´Ê××ÖĸҪ´óд¡£
¡¾¹æÔò1-2¡¿Ê¹ÓÃÄܹ»·´Ó³À๦ÄܵÄÃû´Ê»òÃû´Ê¶ÌÓïÃüÃûÀà¡£
¡¾¹æÔò1-3¡¿²»ÒªÊ¹ÓÓI”¡¢“C”¡¢“_”µÈÌØ¶¨º¬Òåǰ׺¡£
¡¾¹æÔò1-4¡¿×Ô¶¨ÒåÒì³£ÀàÓ¦ÒÔException½áβ¡£
¡¾¹æÔò1-5¡¿ÎļþÃûÒªÄÜ·´Ó ......
¡¡¡¡Bin Ŀ¼ÓÃÀ´´æ·Å±àÒëµÄ½á¹û£¬binÊǶþ½øÖÆbinraryµÄÓ¢ÎÄËõд£¬ÒòΪ×î³õC±àÒëµÄ³ÌÐòÎļþ¶¼ÊǶþ½øÖÆÎļþ£¬ËüÓÐDebugºÍReleaseÁ½¸ö°æ±¾£¬·Ö±ð¶ÔÓ¦µÄÎļþ¼ÐΪbin/DebugºÍbin/Release£¬Õâ¸öÎļþ¼ÐÊÇĬÈϵÄÊä³ö·¾¶£¬ÎÒÃÇ¿ÉÒÔͨ¹ý£ºÏîÄ¿ÊôÐÔ—>ÅäÖÃÊôÐÔ—>Êä³ö·¾¶À´Ð޸ġ£
¡¡¡¡objÊÇobjectµÄËõд£¬ÓÃÓÚ´æ·Å ......
ͨ¹ý·´É䣬µÃµ½Õë¶Ôijһö¾ÙÀàÐ͵ÄÃèÊö¡£
ö¾ÙµÄ¶¨ÒåÖмÓÈëÃèÊö
using System;
using System.Collections;
namespace Ahnlab.ApplicationServices
{
public sealed partial class SysEnums
{
#region ϵͳ¹ÜÀíÄ£¿éµÄö¾ÙÐÅÏ¢
/// <summary>
/// ÔÚÏß²»Á¼Åâ³ ......
ÎÒÒÔΪ£¬ÔÚËùÓÐģʽÖУ¬×î¼òµ¥¡¢×î³£ÓõľÍÊǹ¤³§Ä£Ê½ÁË£¨°üÀ¨³éÏ󹤳§£©¡£
¹¤³§Ä£Ê½ºÍ³éÏóģʽµÄÇø±ðÔÚÓÚ£¬¹¤³§Ä£Ê½ÊÇͨ¹ý²ÎÊý£¨Ò»°ã½ÐÐͱðÂ룩À´¶¯Ì¬Éú³É¶ÔÏ󣬶ø³éÏ󹤳§±ØÐëÁ˽âÉÏÏÂÎIJÅÄܵ÷ÓÃÏàÓ¦µÄ¶ÔÏó¡£ÊµÀý´úÂëÈçÏ£º
Ò»¡¢¹¤³§Ä£Ê½
public class Factory
{
public static object Create(int type)
{
......
תÒåÐòÁÐ ×Ö·ûÃû³Æ Unicode ±àÂë
\' µ¥ÒýºÅ 0x0027
\" Ë«Òýº ......