zoukankan      html  css  js  c++  java
  • C#编程之dll使用(一)

    从今天开始,我们着手基于C#编写一些有实在意义应用程序例程:

    这一章主要讲解如何生成dll文件库,对于这个dll创建,我们其实之前也是有讲解过的,也就是创建cpp和h文件,并在h文件中定义接口 #define DLL_API extern "C" _declspec(dllexport) 

    并声明入口函数: DLL_API (type) function(value1, ...value n); .这一章为了装一下逼,我们用另外一种方法来创建生成我们的dll动态库文件。

    1. 创建工程new--- project---- visual c++ --- win32 project---Dll
    2. 定义入口函数功能算法,我们这里定义一个实现加减乘除的算法:
      // cppDll.cpp : Defines the exported functions for the DLL application.
      //
      
      #include "stdafx.h"
      /// c='+': addition,c='-':subtraction,c='*':multiplication,c='/':division
      double Calculation(double a, double b, const char c)
      {
          switch (c)
          {
          case '+':
              return a + b;
              break;
          
          case '-':
              return a - b;
              break;
          
          case'*':
              return a*b;
              break;
          
          case'/':
              if (b != 0)
              {
                  return a / b;
              }
              else
              {
                  return 0;
              }
              break;
          
          default:
              return 0;
              break;
          }
      }
    3. 这里我们开始用另外一种方法实现动态库接口定义: add new Item--- Visual C++---- code---- Module-definition Flie(.def)
    4. 在def文件定义库和接口函数名称,注意这里我们只需要输出接口名称即可,不需要带参数:
      LIBRARY cppDll.dll
      EXPORTS
      Calculation
    5. 编译,即可在项目目录下Debug文件夹内生成我们的dll库文件了。

    下一章我们将讲解,C#如何调用该动态库内接口实现我们的算法。

    End.

    谢谢.

  • 相关阅读:
    linux常用命令
    linux简介
    vmware+CentOs 6.9的安装步骤
    Android layer type与WebView白屏-第一次加载webview很慢
    Android View框架的measure机制
    maven的facet错误解决方法
    oracle jdbc驱动发布nexus
    dubbox2.8.4编译发布到私服(nexus)
    一致性哈希 与 普通哈希对比
    1对多业务,数据库水平切分架构一次搞定 | 架构师之路
  • 原文地址:https://www.cnblogs.com/lumao1122-Milolu/p/11943397.html
Copyright © 2011-2022 走看看