国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

以 MoonLLVM 為代表的實(shí)踐反思:LLVM 伴侶如何解決 C++ 基石之痛

0
分享至


前言:在編譯器技術(shù)領(lǐng)域,LLVM 憑借其精妙的 IR 設(shè)計(jì)、靈活的 Pass 架構(gòu)成為工業(yè)標(biāo)桿,但其底層依賴(lài)的 C++ 卻日益成為負(fù)擔(dān)。從編寫(xiě) Lua/C 編譯器到參與 LLVM 開(kāi)發(fā),我親歷了 C++ 的復(fù)雜性如何侵蝕開(kāi)發(fā)效率:模板元編程的“黑魔法”、標(biāo)準(zhǔn)庫(kù)的陷阱、緩慢的編譯調(diào)試體驗(yàn),以及構(gòu)建系統(tǒng)的混亂,迫使團(tuán)隊(duì)將精力耗費(fèi)在語(yǔ)言細(xì)節(jié)而非核心算法上。 這種困境催生了 MoonLLVM 的構(gòu)想——它并非替代 LLVM,而是作為其“友好伴侶”,通過(guò)輕量級(jí)設(shè)計(jì)規(guī)避 C++ 的弊端。

MoonLLVM 基于 MoonBit 語(yǔ)言,提供簡(jiǎn)潔的字符串處理、快速編譯和模塊化結(jié)構(gòu),同時(shí)保持與原生 LLVM 的互操作性。其目標(biāo)是降低編譯器開(kāi)發(fā)門(mén)檻,讓開(kāi)發(fā)者更專(zhuān)注于語(yǔ)言語(yǔ)義與優(yōu)化創(chuàng)新,而非與工具鏈搏斗。本文將探討這一實(shí)踐如何為編譯器工程提供新思路。

求學(xué)期間,我曾經(jīng)非常迷戀 C++:模板元編程很酷,標(biāo)準(zhǔn)庫(kù)看起來(lái)很「工程」、很「專(zhuān)業(yè)」。那會(huì)兒,我也用 C++ 寫(xiě)過(guò)不少東西:Lua 編譯器、C 編譯器,還有各種各樣的小工具等等。后來(lái)畢業(yè)以后,又在國(guó)內(nèi)某知名芯片公司,也做過(guò) LLVM / MLIR 相關(guān)工作,寫(xiě)過(guò)優(yōu)化 Pass、后端代碼生成等。

但當(dāng)我的經(jīng)驗(yàn)越來(lái)越豐富,見(jiàn)到的東西越來(lái)越多之后,我越來(lái)越有一種感覺(jué):

如果LLVM不是建構(gòu)在C++上的就好了。
LLVM -- 杰出的設(shè)計(jì)

作為知名的編譯器后端框架,LLVM 的架構(gòu)設(shè)計(jì)是非常優(yōu)秀的。它的 IR 設(shè)計(jì)、Pass 管線(xiàn)、Def-Use 鏈,以及對(duì)硬件的抽象,都是教科書(shū)級(jí)別的。也正因如此,LLVM 成了工業(yè)界編譯器后端的標(biāo)準(zhǔn)。2013年,LLVM被授予了2012ACM軟件系統(tǒng)獎(jiǎng),已足以說(shuō)明工業(yè)界對(duì)它的認(rèn)可。

但 LLVM 的基石語(yǔ)言C++,則是另一個(gè)極端。

問(wèn)題頻出的C++ 1. 語(yǔ)言太復(fù)雜

我們?cè)凇皩?duì)付語(yǔ)言”上花的精力,可能超過(guò)了“對(duì)付業(yè)務(wù)”。編譯器本身已經(jīng)是一個(gè)超級(jí)復(fù)雜的系統(tǒng),但 C++ 又額外疊加了一層復(fù)雜度:

  • 一個(gè)變量可能有二十幾種初始化方式

  • 一個(gè)類(lèi)可以有足足六種構(gòu)造函數(shù);

  • 模板元編程的各種黑魔法,且與C++主體編程范式大為不同的函數(shù)式范式。

  • 標(biāo)準(zhǔn)庫(kù)里大量行為細(xì)節(jié)、陷阱、爛尾特性和詞不達(dá)意,例如變長(zhǎng)數(shù)組叫vector,而真正的變長(zhǎng)數(shù)組valarray是一個(gè)爛尾的特性;vector 并不是bool的容器;std::regex離譜的性能問(wèn)題;std::remove實(shí)際上的作用是把元素移動(dòng)到末尾等等。

  • 各種看起來(lái)炫酷,實(shí)際上有些“故作高深”的名詞,例如SFINAE,CRTP,RTTI,RAII,monostate等等。

寫(xiě)編譯器的工程師,本來(lái)應(yīng)該把大部分時(shí)間花在「語(yǔ)言語(yǔ)義、優(yōu)化算法、后端架構(gòu)」上,但在 C++ 世界,團(tuán)隊(duì)不得不在很長(zhǎng)時(shí)間里花大量精力,放在給新人培訓(xùn) C++ 語(yǔ)法和習(xí)慣用法,或者是與各種構(gòu)建配置、ABI、模板錯(cuò)誤信息搏斗。

2. 字符串處理上問(wèn)題頻出

編譯器本質(zhì)上你可以看做是一個(gè)復(fù)雜的字符串處理程序,但一個(gè)很不幸的事實(shí)是: C++ 標(biāo)準(zhǔn)庫(kù)在字符串處理上的支持并不友好,缺少真正可靠的字符串處理庫(kù),常用的std::string或者std::regex都有不小的問(wèn)題。這使得現(xiàn)實(shí)世界中,很多經(jīng)典的庫(kù)可能會(huì)選擇自己動(dòng)手制作字符串庫(kù),但是C++難以集成第三方庫(kù)的特點(diǎn)由阻礙了開(kāi)發(fā)者去使用它們。

而這對(duì)于想用 C++ 入門(mén)寫(xiě)編譯器的學(xué)生來(lái)說(shuō)就非常不友好了,很多人連第一關(guān)「詞法分析」可能都過(guò)不去。

3. 編譯慢,調(diào)試體驗(yàn)差

C++的編譯實(shí)在是太慢了,越大的項(xiàng)目這個(gè)問(wèn)題越明顯。這是C++本身模板展開(kāi)和頭文件的重復(fù)編譯導(dǎo)致的這個(gè)問(wèn)題,很多情況下,開(kāi)發(fā)者稍微改一點(diǎn)點(diǎn),就要重新等很久。

但編譯器又是一個(gè)「必須頻繁讀源碼、單步調(diào)試」的系統(tǒng)軟件,因?yàn)榫幾g器與Web程序或者游戲程序不同,很多 bug 無(wú)法靠打 log 簡(jiǎn)單定位;需要頻繁重編譯 + GDB / LLDB 調(diào)試。

這使得日常開(kāi)發(fā)體驗(yàn)非常不友好,debug 版 LLVM + C++ 的組合,有時(shí)慢到讓人懷疑人生。編譯和調(diào)試的效率低下結(jié)果導(dǎo)致的問(wèn)題就是企業(yè)的開(kāi)發(fā)成本非常高。

4. 構(gòu)建系統(tǒng)和第三方依賴(lài)太折騰

幾乎每個(gè)寫(xiě) C++ 的人都和各種構(gòu)建系統(tǒng)打過(guò)交道,Makefile / Ninja / Bazel / MSBuild / SCons / ...等等。而CMake 雖然是事實(shí)標(biāo)準(zhǔn),但在語(yǔ)法和使用體驗(yàn)上,實(shí)在是一言難盡。

構(gòu)建系統(tǒng)混亂帶來(lái)的直接后果就是引入第三方庫(kù)極其麻煩,因?yàn)椴煌陌赡苁褂昧瞬煌臉?gòu)建工具。即使都使用了CMake,ABI、編譯選項(xiàng)、鏈接方式的兼容性問(wèn)題也常常出現(xiàn)。一些GitHub Star很高的項(xiàng)目,會(huì)推崇單頭文件模式,但是這樣又會(huì)帶來(lái)編譯速度的問(wèn)題。

構(gòu)建系統(tǒng)和第三方庫(kù)的問(wèn)題,造成了一個(gè)C++特色:C++ 程序員,對(duì)「重復(fù)造輪子」往往已經(jīng)習(xí)以為常。

如果有一個(gè)「非 C++ 的 LLVM 伴侶」……

假如我們有這樣一個(gè)東西:

  • 能和真實(shí)的 LLVM 平滑互操作,能夠生成兼容 LLVM 工具鏈的 IR / bytecode;

  • 有著非常優(yōu)秀的字符串處理,ADT,模式匹配語(yǔ)法,而且語(yǔ)法簡(jiǎn)單,上手容易,AI友好。

  • 更輕量、編譯速度快、源碼更容易讀;

這就是 MoonLLVM 想做的事情。

MoonLLVM:A Tiny, Friendly Companion to LLVM

GitHub 地址:moonbitlang/MoonLLVM

MoonLLVM 的定位:不是「重寫(xiě) LLVM」,而是「LLVM 的友好伴侶」

先把預(yù)期講清楚:

MoonLLVM 不是 LLVM 的重構(gòu)版;也不打算直接取代 LLVM。

現(xiàn)實(shí)是:LLVM 過(guò)去二十多年集結(jié)了多家大公司的巨大投入,在優(yōu)化、多后端支持、生態(tài)廣度上,有壓倒性的優(yōu)勢(shì)。MoonLLVM 短期內(nèi)不可能、也沒(méi)必要在這些維度上正面進(jìn)攻。

MoonLLVM 想填補(bǔ)的是另一塊空白:

  • 讓學(xué)生和初學(xué)者更容易接觸 IR / Pass / 后端;

  • 讓小型芯片公司、小團(tuán)隊(duì)可以用更低成本做原型和特定場(chǎng)景的后端;

  • 讓熟悉 LLVM 的工程師多一個(gè)更輕量、可退出的選項(xiàng)。

核心目標(biāo):與真 LLVM 的三層互操作

MoonLLVM 和很多「自建小框架」,例如QBE,Cranelift等最大的不同,是我們從一開(kāi)始就認(rèn)真設(shè)計(jì)了與真 LLVM 的互操作,而不是造一個(gè)完全封閉的「私有宇宙」。

可以分三層來(lái)看:

1.1 代碼級(jí)互操作

  • 我們有一個(gè) llvm.mbt 包,它是一個(gè)真 LLVM 的 MoonBit 綁定,需要本地安裝 LLVM。調(diào)用llvm.mbt得到的IR,就是原版LLVM生成出來(lái)的IR。 github: https://github.com/moonbitlang/llvm

  • MoonLLVM 的 API 與 llvm.mbt 有意識(shí)地對(duì)齊:數(shù)據(jù)結(jié)構(gòu)、接口設(shè)計(jì)都保持相似。

  • 用戶(hù)只需改一處:調(diào)整 moon.pkg.json 配置,即可在 MoonLLVM 和真 LLVM 之間切換:

  • 設(shè)計(jì)目標(biāo)是:MoonLLVM → 真 LLVM 平滑切換;

    • 需要注意的是,反向切回來(lái)我們無(wú)法保證,這是因?yàn)镸oonLLVM還是比真LLVM簡(jiǎn)單太多。

  • MoonLLVM / llvm.mbt 的 API 很大程度上參考了原版 C++ LLVM:

    • Context / Module / Function / BasicBlock / IRBuilder 等核心概念一一對(duì)應(yīng);

    • 操作順序、調(diào)用方式盡量保持一致;

    • 對(duì)熟悉 C++ LLVM 的工程師來(lái)說(shuō),幾乎不需要換腦子。

1.2 模塊級(jí)互操作(未來(lái))
  • MoonLLVM 與 llvm.mbt 可以在同一工程中共存;

  • 提供轉(zhuǎn)換函數(shù),將 MoonLLVM 的中間數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)成 llvm.mbt 的數(shù)據(jù)結(jié)構(gòu);

  • 這意味著:你可以在 MoonLLVM 中做自定義 IR 生成、輕量?jī)?yōu)化,然后把 IR 交給真 LLVM 做后續(xù)優(yōu)化和后端。

1.3 產(chǎn)物級(jí)互操作(未來(lái))
  • MoonLLVM 生成的 LLVM IR / bytecode:

    • 可以被現(xiàn)有 LLVM 工具鏈(如 llc、opt)識(shí)別和處理;

    • MoonLLVM 對(duì)其能力范圍內(nèi)的 IR 支持 Parse 和再處理。

  • 一條典型鏈路可以是:

  • MoonLLVM → LLVM IR → llvm-opt 優(yōu)化 → LLVM IR →(可選)再回 MoonLLVM

從一開(kāi)始,MoonLLVM 就內(nèi)建了一個(gè)清晰的「退出機(jī)制」:

  • 用戶(hù)不用擔(dān)心「用了 MoonLLVM 以后就被架死在這里」;

  • 未來(lái)如果有需要:可以逐步把關(guān)鍵路徑遷回真 LLVM;或者只在某些階段用 MoonLLVM 快速試驗(yàn)和開(kāi)發(fā)。

MoonLLVM的其它目標(biāo)
  1. 運(yùn)行速度:用「適度取舍」換來(lái)輕盈

  2. MoonLLVM 一開(kāi)始就明確做了一個(gè)選擇:不追求覆蓋所有稀奇古怪的 C 語(yǔ)言特性(比如 VLA 等),C++特性(例如各種C++專(zhuān)用的異常)。也不追求支持所有冷門(mén)架構(gòu)與擴(kuò)展。

  3. 這樣做的好處是:數(shù)據(jù)結(jié)構(gòu)和算法可以更簡(jiǎn)單,內(nèi)部可以大量使用定長(zhǎng)整數(shù)和更直接的實(shí)現(xiàn),在「生成 IR / 做基礎(chǔ)轉(zhuǎn)換」這類(lèi)場(chǎng)景下,MoonLLVM 在 MoonBit 里調(diào)用的整體運(yùn)行速度,有機(jī)會(huì)顯著快于直接調(diào)用真 LLVM。

  4. 編譯速度快,組件細(xì)粒度模塊化 MoonLLVM 有意識(shí)地把組件拆得更細(xì),做到用到哪個(gè)編譯哪個(gè),沒(méi)用到的完全不參與構(gòu)建;整體編譯時(shí)間可以維持在較低水平;對(duì)開(kāi)發(fā)者來(lái)說(shuō):改一個(gè) Pass,不需要重編整個(gè)「工程」;非常適合做在線(xiàn) Playground / REPL 的后端;或者是新 Pass / 新后端的實(shí)驗(yàn)平臺(tái)。

  5. 無(wú)外部依賴(lài):只依賴(lài) MoonBit 工具鏈 MoonLLVM 只需要 MoonBit 自身的工具鏈即可:不需要外部 C++ 編譯器;也不需要 CMake / TableGen 等復(fù)雜構(gòu)建工具。對(duì)于只會(huì) MoonBit 的開(kāi)發(fā)者來(lái)說(shuō),安裝過(guò)程非常簡(jiǎn)單;

  6. 輕量,適合「弱環(huán)境」和多種部署形態(tài)

  7. 得益于整體設(shè)計(jì)的輕量化和 MoonBit 語(yǔ)言本身的特性:MoonLLVM 可以跑在性能不算強(qiáng)的 PC 上,也可以通過(guò) WebAssembly 部署到瀏覽器中,這使得它在部分嵌入式 / 邊緣計(jì)算環(huán)境中也有實(shí)際落地的希望;

  8. 這為「MoonBit 在線(xiàn) Playground」、「嵌入式腳本 / DSL 環(huán)境」等場(chǎng)景,提供了很自然的技術(shù)路徑。

一個(gè)典型的 MoonLLVM 程序

下面這個(gè)示例展示了如何用 MoonLLVM 創(chuàng)建一個(gè)簡(jiǎn)單的加法函數(shù):

輸出的 LLVM IR 大致如下:

注意頂部的注釋部分明確標(biāo)注了「Generated by MoonLLVM, not llvm」,這與原版 C++ LLVM 的輸出可以清晰區(qū)分。

這份 IR 既可以交給官方 LLVM 工具鏈(例如 llc)繼續(xù)編譯,也可以作為 MoonMIR 的輸入,進(jìn)一步生成 riscv64 或 aarch64 匯編。

對(duì)應(yīng)的 C++ LLVM 程序?qū)Ρ?/p>

下面是一段等價(jià)的 C++ LLVM API 示例代碼,實(shí)現(xiàn)同樣的 add(i32, i32) -> i32 函數(shù):

MoonLLVM 目前已經(jīng)做到什么?

當(dāng)前,MoonLLVM 已經(jīng)具備以下能力:

  • 支持 LLVM IR 的構(gòu)建;

  • 在此基礎(chǔ)上,完成了初步的后端代碼生成,可以獨(dú)立生成 RISC-V 匯編代碼,和 AArch64 匯編代碼。

基于 MoonLLVM,我們實(shí)現(xiàn)了一個(gè) MiniMoonBit 編譯器,除基礎(chǔ)特性外,還支持模式匹配、高階函數(shù)等特性,完成MiniMoonBit編譯器后,我們還用 MiniMoonBit 跑了一個(gè)光線(xiàn)追蹤程序,效果可以在 B 站視頻中看到:

B 站視頻:MiniMoonBit + MoonLLVM 光線(xiàn)追蹤示例

性能測(cè)試:與 tcc / clang 的對(duì)比

為了測(cè)試 MoonLLVM 的實(shí)際表現(xiàn),我們?cè)O(shè)計(jì)了 5 個(gè)小例子:

  • ack.mbt:Ackermann 遞歸函數(shù);

  • fib.mbt:遞歸 Fibonacci;

  • eigen.mbt:矩陣求特征值;

  • svd.mbt:矩陣 SVD 分解;

  • queen.mbt:八皇后問(wèn)題。

測(cè)試方式如下:

  • MiniMoonBit(基于 MoonLLVM)

    • MiniMoonBit 生成 AArch64 匯編;

    • 使用 clang -O0 編譯匯編文件和 runtime.c,得到可執(zhí)行程序。

  • tcc

    • 使用 MoonBit 將對(duì)應(yīng) .mbt 文件通過(guò) --target native 轉(zhuǎn)為 C 程序;

    • 使用 tcc 將 C 文件與 MoonBit 標(biāo)準(zhǔn) runtime.c 編譯為可執(zhí)行程序。

  • clang -O0

    • 同樣先轉(zhuǎn)為 C,再用 clang -O0 編譯。

  • clang -O1

    • 同樣先轉(zhuǎn)為 C,再用 clang -O1 編譯。

然后分別運(yùn)行所得可執(zhí)行程序,記錄時(shí)間(單位:秒):

配圖如下:


性能結(jié)果分析

整體來(lái)看:

  • 基于 MoonLLVM 的 MiniMoonBit 性能明顯優(yōu)于 tcc 和 clang -O0;

  • 與 clang -O1 相比,MiniMoonBit 仍有差距,但在同數(shù)量級(jí)之內(nèi)。

主要原因在于:

  • MoonLLVM 當(dāng)前后端已經(jīng)做了寄存器分配(采用圖著色寄存器分配);

  • 而 tcc 和 clang -O0 不做寄存器分配,因此在部分算例中會(huì)出現(xiàn)明顯性能劣勢(shì);

  • clang -O1 在寄存器分配之外,還開(kāi)啟了更多優(yōu)化 Pass,因此通常會(huì)比當(dāng)前版本的 MiniMoonBit 更快。

換句話(huà)說(shuō),在仍然相對(duì)「年輕」的優(yōu)化管線(xiàn)下,MoonLLVM 已經(jīng)能在不少場(chǎng)景中跑到接近 clang -O1 的表現(xiàn);后續(xù)優(yōu)化空間依然很大。

展望:MoonLLVM 接下來(lái)要做什么?

未來(lái)一段時(shí)間內(nèi),MoonLLVM 會(huì)重點(diǎn)在以下方向持續(xù)演進(jìn):

  1. 兌現(xiàn)互操作承諾:持續(xù)完善與真 LLVM 的互操作能力;保證「隨時(shí)可以退出到真 LLVM」這條路徑長(zhǎng)期有效。

  2. 擴(kuò)展指令與類(lèi)型系統(tǒng):豐富 IR 指令和類(lèi)型支持;增強(qiáng)優(yōu)化能力,引入更多調(diào)試與診斷信息。

  3. 增加更多體系結(jié)構(gòu)后端:補(bǔ)充 x86_64 等后端;在更多架構(gòu)上驗(yàn)證當(dāng)前抽象方案的通用性與簡(jiǎn)潔性。

  4. 打造完整工具鏈閉環(huán):開(kāi)發(fā)配套匯編器(MoonAs)與鏈接器(MoonLD);構(gòu)建由 MoonLLVM 驅(qū)動(dòng)的、可獨(dú)立運(yùn)作的工具鏈閉環(huán)。

我們希望,MoonLLVM 既能成為教學(xué)與研究的友好平臺(tái),也能在特定場(chǎng)景下,成為真正落地可用的輕量級(jí)編譯后端。

如果你對(duì) LLVM 生態(tài)已經(jīng)很熟悉,希望有一個(gè)更輕量、可實(shí)驗(yàn)、可與真 LLVM 平滑切換的伴侶;或者你只是想用一種更現(xiàn)代、更干凈的方式來(lái)認(rèn)識(shí)「編譯器后端」這個(gè)世界,歡迎試試 MoonLLVM:

[1]: MoonLLVM鏈接:https://github.com/moonbitlang/MoonLLVM

[2]: MiniMoonBit編譯器:https://github.com/moonbitlang/MiniMoonBit2025

[3]: B站視頻,用MoonBit寫(xiě)個(gè)MiniMoonBit跑了一個(gè)光線(xiàn)追蹤: https://www.bilibili.com/video/BV1kSS4BqETn

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶(hù)上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
美以是如何快速“斬首”哈梅內(nèi)伊的?但伊朗政權(quán)沒(méi)那么容易顛覆

美以是如何快速“斬首”哈梅內(nèi)伊的?但伊朗政權(quán)沒(méi)那么容易顛覆

今日馬說(shuō)
2026-03-01 11:28:25
真相曝光!國(guó)際籃聯(lián)根本不是認(rèn)錯(cuò),吹中國(guó)黑哨的裁判,恐全身而退

真相曝光!國(guó)際籃聯(lián)根本不是認(rèn)錯(cuò),吹中國(guó)黑哨的裁判,恐全身而退

青橘罐頭
2026-03-01 10:00:20
特朗普稱(chēng)伊朗最高領(lǐng)袖哈梅內(nèi)伊已身亡!以色列高級(jí)官員:哈梅內(nèi)伊遺體已在其官邸廢墟中被找到

特朗普稱(chēng)伊朗最高領(lǐng)袖哈梅內(nèi)伊已身亡!以色列高級(jí)官員:哈梅內(nèi)伊遺體已在其官邸廢墟中被找到

每日經(jīng)濟(jì)新聞
2026-03-01 06:45:13
美國(guó)為什么不敢打伊朗?專(zhuān)家的預(yù)測(cè)又被打臉了

美國(guó)為什么不敢打伊朗?專(zhuān)家的預(yù)測(cè)又被打臉了

歷史總在押韻
2026-02-28 23:31:28
放假半天!不補(bǔ)休

放假半天!不補(bǔ)休

小易商丘
2026-03-01 10:00:47
再年輕也沒(méi)用!22歲健身博主胡洪盛去世,死因曝光,曾減重90斤

再年輕也沒(méi)用!22歲健身博主胡洪盛去世,死因曝光,曾減重90斤

青梅侃史啊
2026-02-27 23:44:02
伊朗最高領(lǐng)袖哈梅內(nèi)伊遇襲身亡,特朗普警告轟炸行動(dòng)暫不會(huì)停!

伊朗最高領(lǐng)袖哈梅內(nèi)伊遇襲身亡,特朗普警告轟炸行動(dòng)暫不會(huì)停!

財(cái)聯(lián)社
2026-03-01 10:14:07
上海:中小學(xué)不得以寒假作業(yè)完成情況作為新學(xué)期注冊(cè)依據(jù)

上海:中小學(xué)不得以寒假作業(yè)完成情況作為新學(xué)期注冊(cè)依據(jù)

上觀新聞
2026-03-01 13:32:08
怎么也想不通,她長(zhǎng)這么漂亮,演技那么好,為啥一直火不起來(lái)呢

怎么也想不通,她長(zhǎng)這么漂亮,演技那么好,為啥一直火不起來(lái)呢

草莓解說(shuō)體育
2026-03-01 00:47:24
特朗普稱(chēng)他心中已有可執(zhí)掌伊朗政權(quán)的“合適人選”

特朗普稱(chēng)他心中已有可執(zhí)掌伊朗政權(quán)的“合適人選”

臺(tái)州交通廣播
2026-03-01 10:54:31
哈梅內(nèi)伊遇襲身亡,全球30%海運(yùn)命懸一線(xiàn),油價(jià)、黃金如何走?

哈梅內(nèi)伊遇襲身亡,全球30%海運(yùn)命懸一線(xiàn),油價(jià)、黃金如何走?

雪球
2026-03-01 13:37:51
媒體發(fā)布衛(wèi)星圖 顯示哈梅內(nèi)伊住所遭襲的前后對(duì)比景象

媒體發(fā)布衛(wèi)星圖 顯示哈梅內(nèi)伊住所遭襲的前后對(duì)比景象

財(cái)聯(lián)社
2026-03-01 13:07:07
云淡風(fēng)輕!網(wǎng)傳特朗普指揮襲擊伊朗前幾分鐘,還在家中參加派對(duì)

云淡風(fēng)輕!網(wǎng)傳特朗普指揮襲擊伊朗前幾分鐘,還在家中參加派對(duì)

小蘿卜絲
2026-03-01 13:10:35
伊朗,現(xiàn)代人類(lèi)文明的傷疤

伊朗,現(xiàn)代人類(lèi)文明的傷疤

科海識(shí)貝sci
2026-01-15 16:44:32
法國(guó)和浙江同為6000萬(wàn)人口,2025年法國(guó)創(chuàng)3萬(wàn)億美元GDP,浙江呢?

法國(guó)和浙江同為6000萬(wàn)人口,2025年法國(guó)創(chuàng)3萬(wàn)億美元GDP,浙江呢?

八斗小先生
2026-02-28 18:56:17
又漲停!18天14板“大牛股”,明起停牌!

又漲停!18天14板“大牛股”,明起停牌!

每日經(jīng)濟(jì)新聞
2026-02-26 21:08:13
新加坡大滿(mǎn)貫賽:太遺憾!國(guó)乒男單3:4惜敗,無(wú)緣沖擊男單冠軍

新加坡大滿(mǎn)貫賽:太遺憾!國(guó)乒男單3:4惜敗,無(wú)緣沖擊男單冠軍

國(guó)乒二三事
2026-03-01 11:56:32
5年資產(chǎn)縮水270億,賣(mài)酒套現(xiàn)1.1億,劉鑾雄終是向歲月低下了頭

5年資產(chǎn)縮水270億,賣(mài)酒套現(xiàn)1.1億,劉鑾雄終是向歲月低下了頭

八斗小先生
2026-02-28 17:24:32
實(shí)時(shí):哈梅內(nèi)伊在空襲中喪生,伊朗街頭響起熱烈歡呼聲…

實(shí)時(shí):哈梅內(nèi)伊在空襲中喪生,伊朗街頭響起熱烈歡呼聲…

撒冷聲音
2026-03-01 05:03:27
伊朗緊急致電沙特、阿聯(lián)酋、卡塔爾、科威特、巴林、伊拉克

伊朗緊急致電沙特、阿聯(lián)酋、卡塔爾、科威特、巴林、伊拉克

財(cái)聯(lián)社
2026-02-28 21:40:35
2026-03-01 15:15:00
開(kāi)源中國(guó) incentive-icons
開(kāi)源中國(guó)
每天為開(kāi)發(fā)者推送最新技術(shù)資訊
7604文章數(shù) 34503關(guān)注度
往期回顧 全部

科技要聞

小米超跑概念車(chē)全球首秀!殺入頂豪俱樂(lè)部

頭條要聞

揮兵伊朗之際 特朗普開(kāi)炮"絕不允許企業(yè)干涉軍隊(duì)作戰(zhàn)"

頭條要聞

揮兵伊朗之際 特朗普開(kāi)炮"絕不允許企業(yè)干涉軍隊(duì)作戰(zhàn)"

體育要聞

火箭輸給熱火:烏度卡又輸斯波教練

娛樂(lè)要聞

《江山為聘》:吳謹(jǐn)言陳哲遠(yuǎn)燃炸朝堂

財(cái)經(jīng)要聞

中東局勢(shì)升級(jí) 如何影響A股、黃金和原油

汽車(chē)要聞

小米汽車(chē)2月交付超20000臺(tái) 雷軍:為新SU7量產(chǎn)作準(zhǔn)備

態(tài)度原創(chuàng)

時(shí)尚
家居
本地
手機(jī)
公開(kāi)課

普通人穿衣不需要太復(fù)雜!顏色恰當(dāng)、搭配和諧,高級(jí)又耐看

家居要聞

素色肌理 品意式格調(diào)

本地新聞

津南好·四時(shí)總相宜

手機(jī)要聞

小米盧偉冰官宣明日直播

公開(kāi)課

李玫瑾:為什么性格比能力更重要?

無(wú)障礙瀏覽 進(jìn)入關(guān)懷版