iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >怎么使用C/C++生成的动态链接库
  • 437
分享到

怎么使用C/C++生成的动态链接库

2023-06-26 06:06:59 437人浏览 安东尼
摘要

这篇文章主要讲解了“怎么使用C/C++生成的动态链接库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用C/c++生成的动态链接库”吧!操作环境:Visual Studio 2017.n

这篇文章主要讲解了“怎么使用C/C++生成的动态链接库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用C/c++生成的动态链接库”吧!

操作环境:Visual Studio 2017

.net core 虽然实现了跨平台,但是不可能处处使用 C# 开发,就好像没人使用sql开发安卓APP,每种语言都有其优秀的地方和局限性。

就传感器、32位、16位嵌入式设备,可能只有那么几KB的存储器,那些串口、针脚、电路、信号,只能使用C语言开发。就linux来说,Linux 本身是C语言开发的,面向C语言有丰富的接口支持和兼容,还有很多地方只能使用C语言。

底层应用可以用C语言来完成,如果要开发一个网站、一个大型应用程序呢?

我们可以先用 C 语言写好底层api接口,生成 .SO 动态链接库,然后使用 C# 引入 C 语言动态链接库。利用C语言进行底层的接口开发,使用.Net Core/C# 实现跨平台应用开发,通过预先自定义的API,就可以掌控全局。

一,在Visual Studio 2017 上安装 C/C++ 支持

怎么使用C/C++生成的动态链接库

这一步是是为了在 VS 2017上一套开发,也可以使用其它工具开发C语言程序,甚至在 Linux 中使用 vim 编写、编译都行。

二,写一个简单的C语言程序、生成动态链接库

创建项目后,点击属性,选择生成 .so

怎么使用C/C++生成的动态链接库

然后新建一个 test.cpp 文件,右键 - 新建项,C语言代码如下

extern “C” {}

表示{}内的方法函数等可以为外部使用

extern "C" {    int Sum(int a,int b) {        return a + b;    }}

怎么使用C/C++生成的动态链接库

右键-生成

然后会要求你添加一个 Linux 主机连接。这里其实加上了没用,但vs必须要你加上才能生成、编译,实际对我们后面的操作没影响。

怎么使用C/C++生成的动态链接库

接下来,看图操作

点击菜单栏的生成-仅用于项目-仅链接xxx

然后下面下面输出栏会报错,不管他,再点击项目-右键生成

怎么使用C/C++生成的动态链接库

之后会生成 .so 文件,复制.so文件,存放好

怎么使用C/C++生成的动态链接库

三,C# 项目使用此动态链接库

建立一个.net Core 项目,把 .so 文件复制进去,记得 “始终复制”

怎么使用C/C++生成的动态链接库

怎么使用C/C++生成的动态链接库

新建一个类,类名不重要,主要的是方法名称要一致,参数一致

头部引入

using System.Runtime.InteropServices;

类的代码如下

怎么使用C/C++生成的动态链接库

然后使用此类库

 public class Test    {        [DllImport("./libProject2.so",CallinGConvention =CallingConvention.Cdecl)]        public static extern int Sum(int a,int b);    }    class Program    {        static void Main(string[] args)        {            Console.WriteLine(Test.Sum(666,666));            while (true)            {                Console.WriteLine("输入两个数,用空格隔开,如 666 666");                string[] vs = Console.ReadLine().Split(" ");                int a = Convert.ToInt32(vs[0]);                int b = Convert.ToInt32(vs[1]);                Console.WriteLine(Test.Sum(a,b));            }        }    }

怎么使用C/C++生成的动态链接库

发布后打包到 Linux 中运行

怎么使用C/C++生成的动态链接库

怎么使用C/C++生成的动态链接库

感谢各位的阅读,以上就是“怎么使用C/C++生成的动态链接库”的内容了,经过本文的学习后,相信大家对怎么使用C/C++生成的动态链接库这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 怎么使用C/C++生成的动态链接库

本文链接: https://www.lsjlt.com/news/307286.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么使用C/C++生成的动态链接库
    这篇文章主要讲解了“怎么使用C/C++生成的动态链接库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用C/C++生成的动态链接库”吧!操作环境:Visual Studio 2017.N...
    99+
    2023-06-26
  • C#跨平台开发之使用C/C++生成的动态链接库
    操作环境:Visual Studio 2017 如何实现 使用 C# 进行嵌入式开发? .NET Core 虽然实现了跨平台,但是不可能处处使用 C# 开发,就好像没人使用SQL开发...
    99+
    2022-11-12
  • C#中怎么修改动态链接库
    这期内容当中小编将会给大家带来有关C#中怎么修改动态链接库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C#实现修改动态链接库,将b修改为双重指针:public class RefCo...
    99+
    2023-06-17
  • C++静态库与动态库文件怎么生成和使用
    这篇文章主要介绍“C++静态库与动态库文件怎么生成和使用”,在日常操作中,相信很多人在C++静态库与动态库文件怎么生成和使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++静态库与动态库文件怎么生成和使用...
    99+
    2023-07-05
  • 详解C++中OpenSSL动态链接库的使用
    在上一篇文章 OpenSSL动态链接库源码安装 中我们介绍了如何在Windows和Linux环境中编译OpenSSL动态链接库,这篇文章我们将介绍如何在C代码中引用Open...
    99+
    2022-11-12
  • C++中怎么调用C链接库
    本篇文章给大家分享的是有关C++中怎么调用C链接库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。C++调用C链接库,其实相对C调用C++。因为C++本来就向下兼容C吧但由于编译...
    99+
    2023-06-17
  • ubuntu中python调用C/C++方法之动态链接库详解
    安装booJlLUslVOSst python调用C/C++的方法有很多,本文使用boost.python。考虑到后期有好多在boost上的开发工作,所以boost一并安装了,Boost库分为两个部分来使用,一是直接使...
    99+
    2022-06-04
    python调用动态链接库 python 动态链接库 ubuntu 动态链接库
  • P/Invoke之C#调用动态链接库DLL的方法是什么
    这篇文章主要介绍了P/Invoke之C#调用动态链接库DLL的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇P/Invoke之C#调用动态链接库DLL的方法是什么文章都会有所收获,下面我们一起来看看吧...
    99+
    2023-07-05
  • Linux动态链接库的使用
    动态链接库与普通的程序相比而言,没有main函数,是一系列函数的实现。通过shared和fPIC编译参数生产so动态链接库文件。程序在调用库函数时,只需要连接上这个库即可。例如下面实现一个简单的整数四则运输的动态链接库,...
    99+
    2022-06-04
    Linux 动态链接库
  • C语言外部链接的静态变量怎么使用
    这篇文章主要介绍“C语言外部链接的静态变量怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C语言外部链接的静态变量怎么使用”文章能帮助大家解决问题。外部链接的静态变量具有文件作用域、外部链接和...
    99+
    2023-06-27
  • C++封装静态链接库和使用的详细步骤
    目录零碎记事为什么要把程序封装成库博主的环境封装步骤准备好待封装的程序开始封装配置项目编译找到编译好的静态库打包使用静态库使用步骤包含头文件添加链接路径源文件设置项目设置零碎记事  ...
    99+
    2022-11-13
    C++静态链接库 C++静态链接库使用
  • C#怎么调用C++动态库接口函数和回调函数
    本文小编为大家详细介绍“C#怎么调用C++动态库接口函数和回调函数”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#怎么调用C++动态库接口函数和回调函数”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1. 前言...
    99+
    2023-06-29
  • unity怎么调用c++动态库
    要在Unity中调用C++动态库,可以按照以下步骤进行操作:1. 创建C++动态库:首先,使用C++编写你的库,并将其编译为动态库(...
    99+
    2023-09-20
    unity c++
  • java怎么调用c++动态库
    要在Java中调用C++动态库,可以使用JNI(Java Native Interface)技术。以下是通过JNI调用C++动态库的...
    99+
    2023-10-20
    java c++
  • C++调用动态库和Python调用C++动态库的方法是什么
    这篇文章主要介绍“C++调用动态库和Python调用C++动态库的方法是什么”,在日常操作中,相信很多人在C++调用动态库和Python调用C++动态库的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-07-05
  • linux动态链接库的使用方法
    这篇文章主要介绍“linux动态链接库的使用方法”,在日常操作中,相信很多人在linux动态链接库的使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux动态链接库的使用方法”的疑惑有所帮助!接下来...
    99+
    2023-06-09
  • 详解VS2010实现创建并生成动态链接库dll的方法
    目录1、目的2、新建动态链接库3、添加导出类,并修改项目配置4、修改项目配置5、编译生成6、测试项目1、目的 在某些应用程序场景下,需要将一些类或者方法编译成动态链接库dll,以便别...
    99+
    2022-12-21
    VS创建生成动态链接库dll VS 动态链接库 VS dll
  • C#动态数组怎么使用
    这篇文章主要讲解了“C#动态数组怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#动态数组怎么使用”吧!下面是用法示例,例子很简单,就不用加注释了。public stati...
    99+
    2023-06-17
  • C++11生成随机数(random库)的使用
    目录1. 随机数引擎和分布1.1 分布类型和引擎1.2 使用引擎生成一个数值序列1.3 设置随机数发生器种子2. 其他随机数分布2.1 生成随机实数2.2 生成非均匀分布的随机数在 ...
    99+
    2022-11-13
  • 使用java怎么动态生成bean
    今天就跟大家聊聊有关使用java怎么动态生成bean,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。java动态的生成javabean,只能生成属性和对应的set/get方法,不能生成...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作