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

  • 相关阅读:
    26. Remove Duplicates from Sorted Array(js)
    25. Reverse Nodes in k-Group(js)
    24. Swap Nodes in Pairs(js)
    23. Merge k Sorted Lists(js)
    22. Generate Parentheses(js)
    21. Merge Two Sorted Lists(js)
    20. Valid Parentheses(js)
    19. Remove Nth Node From End of List(js)
    18. 4Sum(js)
    17. Letter Combinations of a Phone Number(js)
  • 原文地址:https://www.cnblogs.com/zhwl/p/2760717.html
Copyright © 2011-2022 走看看