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();
            }

  • 相关阅读:
    [NOI2012] 美食节
    [NOI2008] 志愿者招募
    P3834 【模板】可持久化线段树 2(主席树)
    P3919 【模板】可持久化线段树 1(可持久化数组)
    P4168 [Violet]蒲公英
    轻重链剖分
    沉舟侧畔千帆过 病树前头万木春
    P2119 魔法阵 (0.1s 虐杀过程)
    两行虐杀儒略历
    CSP2020 S-2 爆零(日)记 (已完结)
  • 原文地址:https://www.cnblogs.com/zhwl/p/2760717.html
Copyright © 2011-2022 走看看