zoukankan      html  css  js  c++  java
  • vc做的供其他语言调用的dll的例子 (传递的是字符串格式的参数)

    VC  工程

    char* p = NULL;

    extern "C" _declspec(dllexport)
    char*   _stdcall  output_number(char* aa)
    {

     CString s = aa;
     s += "abcd";
     
     int nlen = s.GetLength();
     if(p != NULL)
     {
      delete[] p;
      p = NULL;
     }
     p = new char[nlen + 1];
     
     p[nlen] = 0;
     
     memcpy(p,s.GetBuffer(0),s.GetLength());
     
     
     
     return p;

     
    }
    extern "C" _declspec(dllexport)
    void _stdcall   deleteaa()
    {
     if(p != NULL)
     {
      delete[] p;
      p = NULL;
     }
    }

    调用方:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Runtime.InteropServices;

    namespace WindowsFormsApplication4
    {
        public static class Class1
        {
            [DllImport("pb.dll")]
            public static extern string output_number(  string str);


            [DllImport("pb.dll")]
            public static extern void deleteaa();
        }
    }

      string aaa;
            //char* aaa;
            private void button1_Click(object sender, EventArgs e)
            {
                string s = "256\0";
                aaa =  Class1.output_number("2567");
                MessageBox.Show(aaa);
               

            }

            private void button2_Click(object sender, EventArgs e)
            {
                Class1.deleteaa();
            }

  • 相关阅读:
    JS设置Cookie过期时间
    linq to xml
    ToDictionary的用法
    为程序使用内存缓存(MemoryCache)
    NuGet的几个小技巧
    IIS 的几个小技巧
    在Visual Studio中使用NuGet管理项目库
    在ASP.NET MVC中,使用Bundle来打包压缩js和css
    在C#中使用WMI查询进程的用户信息
    WMI测试器
  • 原文地址:https://www.cnblogs.com/zhwl/p/2760717.html
Copyright © 2011-2022 走看看