C#调用C++
2024-09-02 21:34:43
c++
extern "C" __declspec(dllexport) char* WINAPI base64_decode( char *data,char base[])
{
}
C#
private void Form1_Load(object sender, EventArgs e)
{
IntPtr ptrIn1 = Marshal.StringToHGlobalAnsi("这是一个中文base64加密的测试");
IntPtr ptrIn2 = Marshal.StringToHGlobalAnsi("01234abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ56789+/=");
IntPtr ptrIn3 = base64_encode(ptrIn1, ptrIn2);
string retlust1 = Marshal.PtrToStringAnsi(ptrIn3); IntPtr ptrIn4 = Marshal.StringToHGlobalAnsi(retlust1);
IntPtr ptrIn5 = Marshal.StringToHGlobalAnsi("01234abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ56789+/=");
IntPtr ptrIn6 = base64_decode(ptrIn4, ptrIn5);
string retlust2 = Marshal.PtrToStringAnsi(ptrIn6);
} [DllImport("FwBase64.dll")]
private static extern IntPtr base64_encode(IntPtr a, IntPtr b); [DllImport("FwBase64.dll")]
private static extern IntPtr base64_decode(IntPtr a, IntPtr b);
注意:传参数用地址的方式。
最新文章
- 谈谈rem
- VC++ 应用程序无法正常启动0xc0150002
- python快排算法
- 无法import的原因(ImportError: No module named *****)
- PHP session 跨子域问题
- struts2 标签为简单标签
- [Unity菜鸟] Unity Web Player 相关问题 (待完善)
- 最好用的手机编程软件-C4droid
- isupper()函数
- matplotlib 生成 eps 插入到 tex
- asp.net core 的 razor pages 如何使用ajax调用后台方法
- rman 脚本大全
- 第一次安卓android studio安装,常见问题。
- android在不加载图片的前提下获得图片的宽高
- 有关Oracle统计信息的知识点
- C# Winform下一个热插拔的MIS/MRP/ERP框架16(窗体基类场景2)
- 「日常训练」Jongmah(Codeforces-1110D)
- Java集合 之List(ArrayList、LinkedList、Vector、Stack)理解(new)
- eg_2
- Asp.Net MVC4的学习概况