zoukankan      html  css  js  c++  java
  • C#如何引用C++的代码

    C++的Cpp文件

    #include <iostream>

    #define MODULEAPI
    #include 
    "tracewrite.h"

    using namespace std;

    void Func1() { cout<<"i am function 1"<<endl; }
    void Func2() { cout<<"i am function 2"<<endl; }
    void Func3() { cout<<"i am function 3"<<endl; }

    对应的头文件:(.h)

    #ifndef _MODULE_
    #define _MODULE_

    #ifndef MODULEAPI
    #define MODULEAPI __declspec(dllexport)
    #else
    #define MODULEAPI __declspec(dllimport)
    #endif

    //头文件

    #ifdef __cplusplus
    extern "C" {
    #endif

    MODULEAPI 
    void Func1();
    MODULEAPI 
    void Func2();
    MODULEAPI 
    void Func3();

    #ifdef MODULEAPI
       }
    #endif


    #endif // _MODULE_

    C#文件来引用上面的C++的方法:

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

    namespace ConsoleApplication1
    {
        
    class Program
        {
            
    static void Main(string[] args)
            {
                Func1();
            }

            [DllImport(
    "TestProj.dll")]
            
    private static extern void Func1();
        }
    }

    要引用上面的C++代码的C++代码:

    #include "stdafx.h"


    #include 
    "traceWrite.h"

    #pragma comment(lib , "TestProj.lib")

    void main()

    {

        Func1(); 
        Func2();

        
    //...

    }

    其对应的头文件如下:

    #ifndef _MODULE_
    #define _MODULE_

    #ifndef MODULEAPI
    #define MODULEAPI __declspec(dllexport)
    #else
    #define MODULEAPI __declspec(dllimport)
    #endif

    //头文件

    #ifdef __cplusplus
    extern "C" {
    #endif

    MODULEAPI 
    void Func1();
    MODULEAPI 
    void Func2();
    MODULEAPI 
    void Func3();

    #ifdef MODULEAPI
       }
    #endif


    #endif // _MODULE_
    做个快乐的自己。
  • 相关阅读:
    js在线压缩网址
    java 排序
    java访问权限(子类继承父类的方法)
    重庆大学第八届编程大赛初赛1、2题目
    重庆大学oj系统——习题
    种花问题(Can Place Flowers)——两朵花不能相邻
    TFIDF计算
    python自定义聚合函数,merge与transform的区别
    AFM模型 pytorch示例代码
    python计算信息增益
  • 原文地址:https://www.cnblogs.com/Jessy/p/2077546.html
Copyright © 2011-2022 走看看