易截截图软件、单文件、免安装、纯绿色、仅160KB

C# 调用 c++ dll 的一些问题总结

1.c++的到处函数只要在函数申明的时候加个导出关键字就可以了
2.参数类型问题,
一般的c++中char * 对应 c#中的string
而c++中 char **类型的参数对应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


相关文档:

《C#图解教程》读书笔记第16章——事件

这本书讲解
C#
语言十分详细,我将其中的重要内容整理成条款,以备忘。
1.      
事件是在满足某个特定条件时发生的,触发
(raise)
事件的对象称为发布者
(publisher)
,对这个事件进行响应的对象称为订阅者
(subscriber)
。事件处理程序是注册到事件的方法,可在任何类或者结构 ......

c#中bin,obj,properties文件夹的作用

  Bin 目录用来存放编译的结果,bin是二进制binrary的英文缩写,因为最初C编译的程序文件都是二进制文件,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Release,这个文件夹是默认的输出路径,我们可以通过:项目属性—>配置属性—>输出路径来修改。
  obj是object的缩写,用于存放 ......

c#线程

c#中写一个多线程应用是非常简单的,本章将介绍如何在c#种开发多线程程序。在.net中线程是由System.Threading 名字空间所定义的。所以你必须包含这个名字空间。
using System.Threading;
开始一个线程
System.Threading 名字空间的线程类描述了一个线程对象,通过使用类对象,你可以创建、删除、停止及恢复一个线程。 ......

C#入门

变量、常量及表达式变量和常量变量(静态、非静态、数组元素、值参数、引用参数、输出参数、局部变量)静态(static) 如 public static int x;  一旦静态变量所属的类被装载,直到包含该类的程序运行结束时它一直存在。非静态:不带有static修饰符声明的变量称为实例变量,如int a ;常量(attributes constnt-modifiers CO ......

c#实现下载代码收集

//TransmitFile实现下载
    protected void Button1_Click(object sender, EventArgs e)
    {
        /*
        微软为Response对象提供了一个新的方法TransmitFile来解决使用Respo ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号