zoukankan      html  css  js  c++  java
  • C#调用C++动态库(dll)

    1.先创建一个C++空的动态库

      

    2.修改2个属性

      (1)设置公共语言运行时支持,目的是将C++代码编译成为中间语言(clr),

        

      (2)

        

    3. main.h中:

      #pragma once
      #include <string>

      //在被导出的函数前面一定要添加额extern “C来指明导出函数的时候使用C语言方式编译和链接的,这样保证函数定义的名字相同,否则如果默认按C++方式导出,那个函数名字就会         //变得乱七八糟,我们的程序就无法找到入口点了

           //__declspec(dllexport)”意思是将后面修饰的内容定义为DLL中要导出的内容

      _EXTERN_C     __declspec(dllexport) int FuncAdd(int a, int b);                            

      };

    4.main.cpp中:

      #include "main.h"

      __declspec(dllexport)  int  FuncAdd(int a, int b)
      {
        return a + b;
      }

    5. 创建C#工程,去调用dll

      public class Program
      {
        [DllImport(@"ConsoleApplication1.dll", EntryPoint = "FuncAdd", CallingConvention = CallingConvention.Cdecl)]
        public extern static int FuncAdd(int a,int b);
        static void Main()
        {
          int temp = FuncAdd(1, 2);
          Console.WriteLine(temp);

        }

           }

    111
  • 相关阅读:
    P4329 [COCI2006-2007#1] Bond
    P4802 [CCO 2015]路短最
    1-4-14:计算邮资
    1-4-13:分段函数
    1-4-12:骑车与走路
    1-4-11:晶晶赴约会
    1-4-10:有一门课不及格的学生
    1-4-09:判断能否被3,5,7整除
    1-4-08:判断一个数能否同时被3和5整除
    1-4-07:收集瓶盖赢大奖
  • 原文地址:https://www.cnblogs.com/zwj-199306231519/p/11128071.html
Copyright © 2011-2022 走看看