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

Zig、C、Rust的Pk1

Zig、C、Rust的Pk1

github.com上看到“A basic comparitive analysis of C, C++, Rust, and Zig.”:https://github.com/CoalNova/BasicCompare/tree/main
里边的代码是9个月之前的,用现在的zig 0.11.0 及0.12-dev都无法通过编译(具体为:zig-windows-x86_64-0.12.0-dev.2543+9eda6ccef),现把C、Zig、Rust代码down下来,做了简单修改,编译(Release)执行后,果然体验到了Zig的与众不同。(此处声明:原代码版权属于https://github.com/CoalNova)

代码编译方式

C: zig cc c_test.c -O2 -o c_test.exe
Rust:Cargo build --release
Zig:zig build-exe zig_test.zig -O ReleaseFast

代码的变化

C、Rust的基本没变。
Zig的变化(具体的编译器会提示):
1、个别变量由var 改为const.
2、注释部分改为: //var args = std.process.Args();
var args = try std.process.argsWithAllocator(allocator);
defer args.deinit();
3、几处 @intCast(u32,i) 变为@intCast(i)
@intToFloat改为@floatFromInt ,减少参数,并且单独声明了const量。

编译运行结果图

Rust
请添加图片描述
C
请添加图片描述
Zig
请添加图片描述
Zig属于水平式内存安全、编译型语言,目前仍在变动,但对C的无缝交互,内存安全方面的较小的学习曲线,真的让人很期待。

相关文章:

  • C++ //练习 6.30 编译第200页的str_subrange函数,看看你的编译器是如何处理函数中的错误的。
  • λ-矩阵的多项式展开
  • Socket.D 开源输传协议 v2.4.0 发布
  • 基金分类
  • vLLM vs Text Generation Interface:大型语言模型服务框架的比较
  • C#使用密封类密封用户信息
  • 2023全球云计算市场份额排名
  • Oracle中怎么设置时区和系统时间
  • Bitcoin Bridge:治愈还是诅咒?
  • tsgctf-2021-lkgit-无锁竞争-userfaultfd
  • 电路设计(15)——篮球赛24秒违例倒计时报警器的proteus仿真
  • Flink从入门到实践(二):Flink DataStream API
  • 【深度学习】S2 数学基础 P1 线性代数(上)
  • Shell - 学习笔记 - 2.12 - Shell获取数组长度
  • MySQL篇----第二十二篇
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • C++类的相互关联
  • Centos6.8 使用rpm安装mysql5.7
  • Date型的使用
  • docker容器内的网络抓包
  • javascript数组去重/查找/插入/删除
  • js写一个简单的选项卡
  • MobX
  • nfs客户端进程变D,延伸linux的lock
  • pdf文件如何在线转换为jpg图片
  • vue-cli3搭建项目
  • webpack入门学习手记(二)
  • windows下mongoDB的环境配置
  • 基于游标的分页接口实现
  • 计算机常识 - 收藏集 - 掘金
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 设计模式走一遍---观察者模式
  • 十年未变!安全,谁之责?(下)
  • 温故知新之javascript面向对象
  • 学习Vue.js的五个小例子
  • 再次简单明了总结flex布局,一看就懂...
  • 正则学习笔记
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • # 达梦数据库知识点
  • #define 用法
  • #define用法
  • #LLM入门|Prompt#3.3_存储_Memory
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (WSI分类)WSI分类文献小综述 2024
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (轉貼) UML中文FAQ (OO) (UML)
  • ****Linux下Mysql的安装和配置
  • **PHP二维数组遍历时同时赋值
  • ... 是什么 ?... 有什么用处?
  • .aanva