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的无缝交互,内存安全方面的较小的学习曲线,真的让人很期待。

相关推荐
发光小北3 分钟前
Bronze100系列plc Modbus及自由口通信案例
开发语言·php
Rockbean8 分钟前
10分钟Solana-性能web3-5.4 项目搭建核心环节
rust·web3·智能合约
snow@li10 分钟前
Java:后端项目会有一个类似前端node_modules的目录吗 / jar包在本地仓库 ~/.m2/repository 中按版本共存
java·开发语言·前端
Rockbean11 分钟前
10分钟Solana-性能web3-5.3 项目搭建
rust·web3·智能合约
geovindu13 分钟前
java: Builder Pattern
java·开发语言·后端·设计模式·建造者模式·生成器模式
2zcode17 分钟前
免费开源项目文档:基于MATLAB同态滤波的医学图像增强系统设计与实现
开发语言·matlab
REDcker21 分钟前
Android 15 16KB 内存页适配详解
android·开发语言·python
2zcode21 分钟前
基于MATLAB同态滤波的医学图像增强系统设计与实现
开发语言·计算机视觉·matlab
脏脏a22 分钟前
飞牛NAS部署EasyNVR实操:摄像头RTSP接入、本地录像与公网回看
开发语言·php
FREEDOM_X27 分钟前
Linux 进程间通讯(IPC)——总结
linux·c语言·前端·嵌入式硬件·struts