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

南京网站建设与维护wordpress主题太难看了

南京网站建设与维护,wordpress主题太难看了,一流的网站建设流程图,modernize wordpressiOS调用Rust 上篇介绍了 Rust移动开发#xff1a;Rust在Android端集成使用介绍, 这篇主要看下iOS上如何使用Rust#xff0c;Rust可以给移动端开发提供跨平台#xff0c;通用组件支持。 该篇适合对iOS、Rust了解#xff0c;想知道如何整合调用和编译的#xff0c;如果想要… iOS调用Rust 上篇介绍了 Rust移动开发Rust在Android端集成使用介绍, 这篇主要看下iOS上如何使用RustRust可以给移动端开发提供跨平台通用组件支持。  该篇适合对iOS、Rust了解想知道如何整合调用和编译的如果想要工程源码可以评论或留言有解疑也可进行询问更多最新文章也可关注微信公号良技漫谈  一开发环境 确保xcode开发环境推荐官方文档, 安装即可 rust开发环境  xcode及iOS调试设备 二添加rust交叉编译 同android一样可以添加支持ios的编译 rustup target add aarch64-apple-ios x86_64-apple-ios初始化 cargo-lipo : 这个create可以编译rs为iOS需要的库 cargo install cargo-lipo 三创建工程 这里的rs代码直接 (参考了mozilla的例子只为测试验证集成过程 创建iOS基本工程并创建rust的库工程可以创建lib也可以直接rs工程。 一套rust代码提供多个平台那一般可以创建lib库这样rust工程来调试后统一对外提供lib库代码由lib库代码编译对应的so,或者.a文件) cargo new Rust_iOS --lib 这里使用 Rust_iOS 作为为iOS工程提供的rust 库代码通过 cargo-lipo 编译出.a的库文件为ios工程进行调用。 rust代码添加 在lib.rs里添加下边代码 use std::ffi::{CStr, CString}; use std::os::raw::c_char;//#[no_mangle] 告诉编译器不要破坏函数名确保函数名称被导入到 C 文件 //extern 告诉 Rust 编译器方法将要在 Rust 以外的地方调用要确保其按照 C 的调用规则编译。 #[no_mangle] pub extern C fn rust_greeting(to: *const c_char) - *mut c_char {let c_str  unsafe { CStr::from_ptr(to) };let recipient  match c_str.to_str() {Err(_)  there,Ok(string)  string,};CString::new(Hello .to_owned()  recipient).unwrap().into_raw() }#[no_mangle] pub extern C fn rust_greeting_free(s: *mut c_char) {unsafe {if s.is_null() {return;}CString::from_raw(s)}; }• greetings.h src下添加一个名为 greetings.h 的新文件来定义一下 C 接口iOS调用的Rust函数在这里定义 #include stdint.h const char* rust_greeting(const char* to); void rust_greeting_free(char *);Cargo.toml定义编译类型 staticlib 编译会生成 .a 文件在 Linux 和 MacOS 上或 .lib 文件在 Windows 上。 [lib] name  greetings crate-type  [staticlib, cdylib] 编译成静态库: cargo lipo --release 构建产物位置在 target/下通用 iOS 库的位置在 /target/universal/release/libRust_iOS.a 四iOS工程引入Rust库 导入 libRust_iOS.a 库: 创建demo ios 工程, 导入 libRust_iOS.a 库从rust工程找到直接拖进入工程target下general 链接 libresolv.tbd。点击 Linked Frameworks 列表底部的 并在搜索框中键入 libresolv。选择 libresolv.tbd bridging header创建 创建之前先把之前定义在rust工程里的.h文件引入过来这个.h文件是rust代码调用的声明入口(File\Add files to“iOSIntegratingRust” ) 创建bridging header File\New\File..。从提供的选项中选择 iOS Source Header File 并选择 Next。将文件命名为 Greetings-Bridging-Header.h 并选择 Create  引入greetings.h #ifndef Greetings_Bridging_Header_h #define Greetings_Bridging_Header_h #import greetings.h #endifiOS Build Settings: 设置Objective-C Bridging Header链接要的.h文件 工程 target 里打开 Build Settings 选项卡。将 Objective-C Bridging Header设置为$(PROJECT_DIR)/Greetings-Bridging-Header.h 要看自己.h所在的位置 设置 Xcode 要链接 Rust 库的路径 Build Settings 中 Library Search Paths中设置 $(PROJECT_DIR)/../Rust_iOS/target/universal/release (要看自己库实际位置) 五iOS代码调用 从刚demo工程里新建一个 swift 文件命名为 RustGreetings import Foundation class RustGreetings {func sayHello(to: String) - String {let result  rust_greeting(to)let swift_result  String(cString: result!)rust_greeting_free(UnsafeMutablePointer(mutating: result))return swift_result} }ViewController.swift里 添加代码验证调用 override func viewDidLoad() {super.viewDidLoad()// Do any additional setup after loading the view.let rustGreetings  RustGreetings()print(\(rustGreetings.sayHello(to: world)))} PS: 也欢迎大家评论和交流~ 更多文章也可关注微信公号良技漫谈
http://www.hkea.cn/news/14454301/

相关文章:

  • 静态网站托管品牌网首页
  • 服务号网站建设公司网站修改 优帮云
  • 如题,HTML如何将两张图片_一张放在网站顶部做背景,另一张放在尾部做背景?wordpress换域名搬家图片不显示
  • 做网站服务器哪种好摇一摇抽签用什么网站做
  • 多个网站建站网站建设栏目怎么介绍
  • 图书馆建设网站需要哪些费用昆明 网站 制作
  • 做网站编辑有什么发展咸宁有做网站的吗
  • 网站域名和空间温州服务专业的网页设计
  • 下城网站建设开网站做彩票赚钱吗
  • 网站添加备案信息吗广告
  • 吉林网站建设哪家好帮别人做网站怎么备案
  • 做相亲网站犯法吗pc官网开发多少一个页面啊
  • 即墨网站建设哪里有中国纪检监察报app下载
  • 免费网站容量大网站代运营服务内容有
  • 建站软件免费版下载域名备案与网站不一致
  • 新手建网站专门做调查的网站
  • 做网站的财务会涉及到的科目外部调用wordpress 热门文章
  • 郑州大型网站建设电话福州谷歌推广
  • 普宁建设局网站网站整体色彩的建设
  • 辽阳建设银行网站黄页88和58那个推广好
  • 网站外包合作广州市海珠区建设局网站
  • 网站开发协议书公司注册网上申请网址
  • 做编程的网站一个月多少钱资讯门户类网站
  • 做网站需要什么代码免费咨询群
  • 网站logo尺寸一般多大微信小程序开发者
  • 长春市大学生网站建设wordpress 区块链
  • 哈尔滨设计网站建设舞钢市住房和城乡建设局网站
  • 网站内容一样影响收录工业设计图片
  • 免费vue前端模板网站个人公众号申请要钱吗
  • 做简单的网站傻瓜式网站源码