veganism.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
Veganism Social is a welcoming space on the internet for vegans to connect and engage with the broader decentralized social media community.

Administered by:

Server stats:

202
active users

#編譯器

2 posts2 participants0 posts today

🌘 編譯器提醒
➤ 確保程式碼品質與可維護性的重要工具
jfmengels.net/compiler-reminde
這篇文章探討了 Elm 程式語言中「編譯器提醒」的功能,闡述了此功能如何透過在程式碼變更時引發編譯錯誤,來確保程式碼的可維護性。作者以一個簡單的計數器範例說明,當新增功能(如重置按鈕)時,編譯器會引導開發者逐步完成所需的變更。文章進一步指出,編譯器提醒的概念不僅限於編譯器本身,也包含程式碼靜態分析工具(lint)提供的提醒,例如未使用變數或已移除變數的清理提示。總體而言,編譯器提醒和類似機制是建立高度可維護程式碼的重要工具。
+ 我一直覺得 Elm 的編譯器訊息很棒,它真的會一步一步引導你完成程式碼修改!
+ 這篇文章讓我更瞭解編譯器提醒的重要性,以後在開發時會更加註意程式碼的完整性。
#Elm 程式語言 #程式碼維護 #編譯器 #靜態類型

jfmengels' blogCompiler remindersCompiler reminders

🌗 C/C++ 程式中利用未定義行為進行優化的研究:效能影響分析
➤ 未定義行為對 C/C++ 效能的實際影響評估
web.ist.utl.pt/nuno.lopes/pubs
本研究深入探討了在 C/C++ 程式中利用未定義行為 (Undefined Behavior, UB) 對效能的影響。C/C++ 語言存在大量未定義行為,包括 CPU 架構差異、以及為避免過高的偵測成本而未定義的錯誤(例如越界指標)。儘管普遍認為 UB 有助於編譯器進行優化,但鮮有大規模研究驗證此點。本研究使用 LLVM 編譯器對多種 CPU 架構進行測試,結果顯示,在評估的基準測試和 UB 類別中,利用 UB 所帶來的整體效能提升幅度有限。此外,即使出現效能下降情況,通常也能透過優化演算法或鏈結時優化來改善。
+ 這個研究很有意思,我一直覺得 C/C++ 的 UB 概念很模糊,沒想到實際的效能影響這麼小。
+ 瞭解了UB的潛在問題,以後編寫 C/C++ 程式要更加小心,避免觸發未定義行為。
#程式設計 #編譯器 #效能優化 #安全性

🌘 GitHub - glynawe/awe:Algol W 程式語言的編譯器
➤ 回顧經典:Algol W 編譯器的新實現
github.com/glynawe/awe
這個 GitHub 倉庫包含了「awe」,一個用於 Algol W 程式語言的新編譯器。Algol W 是 Algol 60 的後繼者,增加了動態分配記錄、字串處理、複數以及標準 I/O 系統等功能。Awe 旨在兼容 OS/360 ALGOL W 編譯器,並提供了詳細的安裝說明和使用手冊。
+ 哇,竟然有人還在維護 Algol W 編譯器!真是令人驚訝,也很有意義。
+ 對於復古運算愛好者來說,這絕對是一個值得關注的專案,可以深入研究這門古老的程式語言。
#軟體開發 #編譯器 #復古運算

GitHubGitHub - glynawe/awe: A compiler for the Algol W programming language.A compiler for the Algol W programming language. Contribute to glynawe/awe development by creating an account on GitHub.

🌗 編譯器:增量式與可擴展性
➤ 一門以實作為基礎、強調增量開發的編譯器課程。
okmij.org/ftp/tagless-final/Co
本文介紹了一門實用的編譯器課程,目標是建立一個能將高級程式語言編譯為 x86-64 機器碼的編譯器。課程採用增量式開發方式,從小到大逐步擴展程式語言和編譯器功能,並大量使用 tagless-final 風格,以實現代碼的可重用性。課程涵蓋了編譯器的標準內容,如語法分析、類型檢查、代碼優化和組譯,並強調測試驅動開發和版本控制等現代軟體開發實踐。此外,課程還特別關注變數的處理和屬性賦予,並使用自定義的 build 工具來支援增量式開發流程。
+ 這聽起來像是一門非常有價值的課程,能夠真正學到編譯器的實作細節,而不是停留在理論層面。
+ Tagless-final 聽起來很吸引人,感覺可以寫出非常彈性和可維護的程式碼。
#編譯器 #程式語言 #OCaml #教育

okmij.orgCompilerThe materials for the course on compilers: built incrementally and fully in tagless-final style

🌗 GitHub - c3lang/c3c: C3 語言編譯器
➤ C3:C 語言的現代化演進
github.com/c3lang/c3c
這個 GitHub 倉庫 c3lang/c3c 包含了 C3 語言的編譯器。C3 是一種基於 C 語言的程式語言,旨在演進 C 的功能,同時保持對 C 程式設計師的熟悉性。它強調與 C 的 ABI 相容性,並提供泛型、模組化的命名空間、更強大的錯誤處理等現代特性。目前已提供 Windows、Debian、Ubuntu 和 macOS 等作業系統的預編譯二進位檔,並持續更新標準函式庫和錯誤修正。
+ 聽起來像是個很有潛力的專案,如果能順利與現有的 C 專案整合,應該會很有用。
+ 我喜歡這種「演進而非革命」的設計理念,對於熟悉 C 語言的開發者來說,學習曲線應該不會太陡峭。
#程式語言 #編譯器 #C3

GitHubGitHub - c3lang/c3c: Compiler for the C3 languageCompiler for the C3 language. Contribute to c3lang/c3c development by creating an account on GitHub.

🌕 C 和 C++ 編譯器選項強化指南
➤ 提升 C/C++ 程式碼安全性的關鍵
best.openssf.org/Compiler-Hard
由開放原始碼安全基金會 (OpenSSF) 最佳實務工作小組發布的這份指南,旨在幫助 C 和 C++ 開發者透過編譯器和連結器選項,強化程式碼的可靠性和安全性。 透過適當的配置,編譯器選項不僅能提升程式碼的安全性,抵禦潛在攻擊,也能改善開發流程,強化警告、靜態分析和除錯功能。 本指南主要針對編寫和建構 C/C++ 程式碼的開發人員,涵蓋 GCC 和 Clang/LLVM 等常見編譯器,並未來擴展至其他編譯器,如 Microsoft MSVC。
+ 這份指南對我們團隊來說非常有幫助,可以系統性地審視並強化我們的 C++ 專案,降低潛在的安全風險。
+ 很高興看到 OpenSSF 針對 C 和 C++ 的安全性問題提出了具體的解決方案,這對於維持軟體生態系統的健康至關重
#資訊安全 #編譯器 #開發

OpenSSF Best Practices Working GroupCompiler Options Hardening Guide for C and C++By Open Source Security Foundation (OpenSSF)