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

中国新农村建设促进会网站游戏创业项目

中国新农村建设促进会网站,游戏创业项目,新浪 sae 安装 wordpress 如何上传模板?,海外海外网站建设提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 ubuntu20.04搭建RUST开发环境并与C语言交互 前言开战一、确认环境版本二、环境搭建三、hello world#xff01;四、跟c语言进行交互1.rust调用C静态库2.C调用rust库 总结参考… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 ubuntu20.04搭建RUST开发环境并与C语言交互 前言开战一、确认环境版本二、环境搭建三、hello world四、跟c语言进行交互1.rust调用C静态库2.C调用rust库 总结参考 前言 开始学习rust从网上扒资料搭建开发环境。后续再跟OpenHarmony-RISCV结合。 开战 一、确认环境版本 二、环境搭建 rootznvhwd:/home/ptg/rust# curl --proto ‘https’ --tlsv1.2 https://sh.rustup.rs -sSf | sh curl: (35) OpenSSL SSL_connect: 连接被对方重设 in connection to sh.rustup.rs:443 rootznvhwd:/home/ptg/rust# ls rootznvhwd:/home/ptg/rust# sudo apt-get install git 正在读取软件包列表… 完成 正在分析软件包的依赖关系树 正在读取状态信息… 完成 git 已经是最新版 (1:2.25.1-1ubuntu3.13)。 升级了 0 个软件包新安装了 0 个软件包要卸载 0 个软件包有 31 个软件包未被升级。 rootznvhwd:/home/ptg/rust# curl --proto ‘https’ --tlsv1.2 https://sh.rustup.rs -sSf | sh curl: (35) OpenSSL SSL_connect: 连接被对方重设 in connection to sh.rustup.rs:443 获取rustup安装脚本失败有资料说是没安装git导致但环境中实际有git。大概率还是本地虚拟机网络的问题。 经排查修改DNS即可Ubuntu修改DNS的方法 编辑 /etc/resolv.conf 文件 sudo vim /etc/resolv.conf加入以下代码 nameserver 114.114.114.114 nameserver 8.8.8.8 又遇新坑 不知道啥原因曲线救国了。 浏览器打开https://sh.rustup.rs直接下载到rustup-init.sh。然后“./”执行即可。 多灾多难。。 https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init 再次尝试下载rustup-init。然后“./”执行。 报错 error: error decoding response body: operation timed out 解决 RUSTUP_DIST_SERVER‘https://mirrors.ustc.edu.cn/rust-static’ RUSTUP_UPDATE_ROOT‘https://mirrors.ustc.edu.cn/rust-static/rustup’ 终于下完了引用环境变量环境变量已经默认写入到~/.bashrc source ~/.bashrc 试用cargo 搞定。 三、hello world rootznvhwd:/home/ptg/rust# cargo new myos Creating binary (application) myos package note: see more Cargo.toml keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html rootznvhwd:/home/ptg/rust# ls main.rs myos rustup-init rustup-init.sh rootznvhwd:/home/ptg/rust# cd myos rootznvhwd:/home/ptg/rust/myos# cargo run Compiling myos v0.1.0 (/home/ptg/rust/myos) Finished dev profile [unoptimized debuginfo] target(s) in 0.20s Running target/debug/myos Hello, world! rootznvhwd:/home/ptg/rust/myos# ls Cargo.lock Cargo.toml src target rootznvhwd:/home/ptg/rust/myos# rootznvhwd:/home/ptg/rust/myos# rootznvhwd:/home/ptg/rust/myos# cd src/ rootznvhwd:/home/ptg/rust/myos/src# ls main.rs rootznvhwd:/home/ptg/rust/myos/src# cat main.rs fn main() { println!(“Hello, world!”); } 执行上面的命令应该是直接下载了一个git项目。 四、跟c语言进行交互 在Rust中调用C语言的代码需要以下几个步骤 编写或获得C语言的代码。创建Rust的外部函数接口FFI。使用Rust的unsafe块调用C函数。 1.rust调用C静态库 参考 Rust调用C程序的实现步骤 编译得到一个C语言的静态库 /*swap.c*/ #include stdint.hint swap(int32_t* a, int32_t* b) {int32_t tmp *a;*a *b;*b tmp;return 0; }gcc -c swap.c ar rcs libswap.a swap.o 在Rust中创建一个外部函数接口来使用这个库。 Cargo.toml文件中添加一个build.rs脚本以及libc依赖 [package] name myos version 0.1.0 edition 2021 build build.rs[dependencies] libc 0.2[build-dependencies] cc 1.0 在build.rs脚本(笔者将其放在了项目根目录下)中告诉cargo如何构建C库 /*build.rs*/ extern crate cc;fn main() {cc::Build::new().file(swap.c).compile(libswap.a); }创建Rust的外部函数接口可以 修改hello rust的main.rs /*main.rs*/ extern crate libc;extern C {fn swap(a: *mut i32, b: *mut i32); }fn main() {println!!!!!!!!!!!(hello,rust!);let mut x 5;let mut y 10;unsafe{swap(mut x as *mut i32, mut y as *mut i32);}println!(x: {}, y: {}, x, y); }报错 warning: spurious network error (3 tries remaining): [35] SSL connecterror (Recv failure: Connection reset by peer) warning: spuriousnetwork error (3 tries remaining): [28] Timeout was reached 应该还是网络的问题。。 尝试wget 对应文件SSL问题。 查了半天终于找到了解决方法 rootznvhwd:/home/ptg/rust/myos# cd ~/.cargo rootznvhwd:~/.cargo# ls bin config env registry rootznvhwd:~/.cargo# cat config [http] check-revoke false rootznvhwd:~/.cargo# rootznvhwd:/home/ptg/rust/myos# cd ~/.cargo rootznvhwd:~/.cargo# ls bin config env registry rootznvhwd:~/.cargo# cat config [http] check-revoke false rootznvhwd:~/.cargo# vim config 修改配置文件应该是换了源 [http] check-revoke false [source.crates-io] replace-with ustc [source.ustc] registry https://mirrors.ustc.edu.cn/crates.io-index终于搞定了。 2.C调用rust库 参考 C语言和Rust语言的互相调用(1)C调用Rust 总结 没啥 找资料照做遇到问题解决问题即可。 参考 https://zhaoseaside.blog.csdn.net/article/details/134484039 https://blog.csdn.net/fittec/article/details/137204059 https://zhuanlan.zhihu.com/p/687515644 https://www.jb51.net/program/307143aaq.htm https://blog.csdn.net/phthon1997/article/details/126469708
http://www.hkea.cn/news/14567783/

相关文章:

  • 网站pc端和手机端分离怎么做做网站编辑好吗
  • 志鸿优化设计网站seo策划方案案例分析
  • 建设电影网站的关键2016做砸了的小网站
  • 建设工程网站有哪些大学网站策划方案
  • 咨询型网站免费咨询的图片
  • 企业网站定制公司企业网站设计沈阳
  • 官网华为seo公司哪家
  • 资讯网站源码江西省建设厅网站
  • 外贸品牌网站建设企业营销网站建设步骤
  • 屏山县建设招标网站微信开放平台创建移动应用
  • 自己做网站卖产品怎么样购物网站开发的背景与意义
  • 天津 网站 备案广告模板
  • wordpress背景特效唐山seo公司
  • 网站收录检测wordpress主题导购
  • 网站策划是什么网站代运营要多少费用
  • 网站建站建设公司网站加app建设
  • 域名备案网站购买工业互联网平台是什么
  • 玩具网站 下载八百客crm系统登录入口
  • wordpress私密页面湛江网站建设产品优化
  • 建设部职业资格注册中心网站首商网官网
  • 台州网站建设多少钱网站开发获取本地ip
  • 青岛网站做网站多少钱dede做导航网站
  • 南京网站优化推广国网商城
  • 网站主机选择返利网站制作
  • 中国古风网站模板福建网站开发公司电话
  • 旅游网站建设论文专业的外贸行业网站设计
  • 徐州市住房建设局网站首页衡阳seo
  • 成都网站建设软件wordpress更改链接后网站打不开
  • 我公司是帮企业做网站的_现在要帮客户们的网站备案贵阳做网站软件
  • 东莞樟木头做网站哪家好南京广告公司排名前十