日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

c语言枚举类型例题_[开源资讯]Zig 0.6.0 发布,想要挑战 C 语言

發(fā)布時(shí)間:2023/12/4 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言枚举类型例题_[开源资讯]Zig 0.6.0 发布,想要挑战 C 语言 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Zig 0.6.0 已發(fā)布,這是一門通用編程語(yǔ)言,專為穩(wěn)定性、可維護(hù)性和性能而設(shè)計(jì),追求替代 C 語(yǔ)言在系統(tǒng)編程上的最佳地位。Zig 具有以下值得關(guān)注的特性:

  • 手動(dòng)管理內(nèi)存
  • 與 C 語(yǔ)言競(jìng)爭(zhēng)而非依賴它,Zig 標(biāo)準(zhǔn)庫(kù)不依賴于 libc
  • 輕量而簡(jiǎn)單,專注于調(diào)試應(yīng)用而不是調(diào)試編程語(yǔ)言的知識(shí)
  • 新的錯(cuò)誤處理方法,與編寫良好的 C 語(yǔ)言錯(cuò)誤處理類似,但減少了很多冗余
  • 調(diào)試模式下優(yōu)化了快速編譯時(shí)間,并在不確定行為發(fā)生時(shí)使用堆棧跟蹤崩潰
  • ReleaseFast 模式和 ReleaseSafe 模式
  • 泛型數(shù)據(jù)結(jié)構(gòu)和函數(shù)
  • 通過(guò)協(xié)程實(shí)現(xiàn)并發(fā)
  • 導(dǎo)入 .h 頭文件并直接使用 C 語(yǔ)言的類型、變量和函數(shù)
  • 導(dǎo)出要依賴 C 語(yǔ)言代碼的函數(shù),變量和類型,自動(dòng)生成 .h 頭文件
  • 可選類型而非空指針
  • 交叉編譯是主要用例


此版本的開發(fā)周期歷時(shí) 6 個(gè)月,有 122 名不同貢獻(xiàn)者提交了 2527 次 commit。
Zig 0.6.0 保持與 LLVM 一致的更新節(jié)奏,已將 LLVM 升級(jí)到最新版 LLVM 10,并且不再兼容 LLVM 9。新的 LLVM 版本主要是修復(fù) Bug,尤其是對(duì) ARM 支持、MIPS 支持、RISC-V 支持等方面的錯(cuò)誤修復(fù)。
這也是第一個(gè)將 Zig 的所有補(bǔ)丁合并到上游的 LLD 版本。因此,Zig 的源碼庫(kù)中不再包含 LLD 源碼的 fork,也就意味著源碼的 tarball zig-0.6.0.tar.xz 比 zig-0.5.0.tar.xz 小了 0.5MiB,因?yàn)閯h除 LLD 源碼比這個(gè)發(fā)布周期中所有其他的改動(dòng)加起來(lái)還節(jié)省了更多的空間。請(qǐng)注意,新的 Bootstrap Tarball 捆綁了 Zig 編譯器的所有依賴項(xiàng),其中包括 LLVM、LLD 和 Clang。
語(yǔ)言特性層面的主要更新包括:

  • 類型強(qiáng)制語(yǔ)法(Type Coercion Syntax):類型強(qiáng)制(以前稱為"implicit casting")現(xiàn)在通過(guò)@as內(nèi)置的方式來(lái)執(zhí)行,而不是通過(guò)調(diào)用一個(gè)類型作為函數(shù)來(lái)執(zhí)行。
  • Sentinel-Terminated 指針:通過(guò)這次修改,Zig 語(yǔ)言既增加了一項(xiàng)特性,同時(shí)也刪除了一項(xiàng)特性。不再有像c"hello"這樣的C語(yǔ)言字符串字面量。取而代之的是所有字符串字面量的類型從 []const u8 轉(zhuǎn)變?yōu)?*const [N:0]u8,其中 N 是字符串字面量的字節(jié)數(shù)。
  • 移除 Array-to-Reference 類型強(qiáng)制轉(zhuǎn)換
  • 數(shù)值比較:無(wú)論類型組合如何,所有數(shù)值都可進(jìn)行比較。例如,小的有符號(hào)整數(shù)可以和大的無(wú)符號(hào)整數(shù)進(jìn)行比較,而浮點(diǎn)數(shù)也可以和整數(shù)進(jìn)行比較。
  • 匿名的結(jié)構(gòu)體字面量(Anonymous Struct Literals):Zig 現(xiàn)在支持省略結(jié)構(gòu)類型的字面量。
  • 增加 Tuples,刪除 Var Args:與匿名的枚舉字面量和匿名的結(jié)構(gòu)體字面量類似,類型也可以從數(shù)組字面量中省略。
  • SIMD:對(duì) SIMD 的支持還遠(yuǎn)未完成,但已經(jīng)取得重大進(jìn)展。
  • 刪除 @newStackCall 方法:@newStackCall 最初用于研究安全遞歸,但現(xiàn)在安全遞歸計(jì)劃通過(guò) Async 函數(shù)實(shí)現(xiàn)。
  • 非窮舉式枚舉:可以通過(guò)添加尾部的'_'字段來(lái)創(chuàng)建一個(gè)非窮舉式枚舉。它必須指定一個(gè)整數(shù)標(biāo)記類型,并且不能消耗每個(gè)枚舉值。
  • Unicode 字符字面量:實(shí)現(xiàn)此功能是因?yàn)?Zig 被定義為使用 UTF-8 進(jìn)行源碼編碼。一個(gè) unicode 字符字面量是一個(gè) comptime_int,其值等于編碼點(diǎn)。

總結(jié)

以上是生活随笔為你收集整理的c语言枚举类型例题_[开源资讯]Zig 0.6.0 发布,想要挑战 C 语言的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。