当前位置: 首页 > news >正文

vs做网站添加背景开发制作app软件

vs做网站添加背景,开发制作app软件,网站设计 佛山,杭州杭州网站建设无论是C调用Rust动态库还是Rust调用C动态库,其操作基本都是一样地简单,基本和C调用C的动态库没什么区别,只需要列出所需要导入的函数,并链接到相应的lib文件即可。 这里,在windows中,我们以dll动态库为例说…

无论是C++调用Rust动态库还是Rust调用C++动态库,其操作基本都是一样地简单,基本和C++调用C++的动态库没什么区别,只需要列出所需要导入的函数,并链接到相应的lib文件即可。

这里,在windows中,我们以dll动态库为例说明。

(1) C++调用Rust生成的动态库

在Rust中,新建一个动态库,

cargo new --lib externtest

然后,修改Cargo.toml的内容如下,

[package]
name = "externtest"
version = "0.1.0"
edition = "2021"# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html[dependencies][lib]
crate-type = ["dylib"]

这里,dylib就是dynamic library的意思,然后修改src/lib.rs的内容,

#[no_mangle]
pub extern "C" fn foo3(i:i32) -> i32{i
}

 然后,通过指令

cargo build

就可以得到两个文件:externtest.dll, externtest.dll.lib,然后,在c++程序中,就可以正常调用这个库了。你可以使用MSYS2-gcc,这里我用的是vs2019。

vs2019新建一个控制台应用程序,将main.cpp的内容修改为如下,

#include <iostream>extern "C" int foo3(int);int main()
{std::cout << "Hello World!\n" << foo3(101);
}

同时,设置链接属性到externtest.dll.lib(配置属性->链接器->输入->附加依赖项 )。

编译后就可以直接运行了,而且,如果你单步运行的话,vs2019可以直接进入rust的源码中。

(2)Rust调用C++生成的动态库 

Rust调用C++动态库也同样简单,先生成一个动态库DynamicLib1.dll,其中DynamicLib1.cpp的内容如下,

extern "C" __declspec(dllexport) int32_t add(int32_t a, int32_t b) { return a + b; }

 生成DynamicLib1.dll后,我们写一个Rust程序测试一下,

cargo new rust-to-dll

然后,修改src/main.rs的内容如下,

#![allow(non_snake_case)]
#[link(name="DynamicLib1", kind="static")]
extern "C" { fn add(x: i32, y: i32) -> i32; }fn main() {// println!("Hello, world!");let x = unsafe { add(62, 30)};println!("{}", x); // 92
}

 记得把dll放到rust-to-dll的主目录下,然后就可能通过

cargo build

生成rust-to-dll.exe,用

cargo run

就能得到运行结果(92)。

本文结束

http://www.hkea.cn/news/36108/

相关文章:

  • 90设计网站免费素材网站seo培训
  • 整形美容网站源码上海seo优化bwyseo
  • 武威市住房和建设局网站百度app下载安装普通下载
  • 网站物理结构天津百度推广排名
  • 美容平台网站建设百度指数查询移动版
  • 工程公司手机网站建立网站怎么搞
  • 做网站软件wd惠州seo外包
  • 聊城做网站seo关键词分类
  • 网站做公司女生学网络营销这个专业好吗
  • 网络运营主要工作内容seo教程自学入门教材
  • 用其他商标在自己网站做宣传百度云网盘资源分享网站
  • 对商家而言网站建设的好处淘宝关键词查询工具哪个好
  • 做简单网站代码关键词推广价格
  • 做品牌折扣的网站百度推广的五大优势
  • 南宁比较有好的网站制作公司百度推广后台登录页面
  • 长沙企业网站排名优化windows优化大师和360哪个好
  • 珠海网站开发维护科技公司免费的网络推广渠道有哪些
  • wp建站系统微信营销管理软件
  • 本地打开WordPress慢百度seo优化分析
  • 适合友情链接的网站排名函数
  • 开发公司岗位设置广州seo招聘网
  • 国内web设计网站宣传推广
  • 深圳高端网站定制公司小时seo
  • wordpress主菜单下拉箭头怎么设置台州seo排名优化
  • 网站系统管理员模块关键词查找工具
  • 望江县建设局网站外贸seo推广招聘
  • 微信网站上传图片手机怎么制作网站
  • 简单做网站需要学什么搜索引擎有哪些网站
  • 网站备案信息加到哪里如何进行网站推广
  • 昭通网站制作aso优化技巧