只能有一個編譯單位包含最上層陳述式

在許多程式語言中,「最上層陳述式」(Top-level statements)指的是那些直接在程式碼的最外層定義的陳述式,它們不需要被包含在任何函式、類別或其他編譯單元中。這些陳述式通常包括變數宣告、函式定義、物件初始化等。

在某些程式語言中,如Python,允許有多個檔案組成一個專案,但只有一個檔案可以包含最上層的陳述式。這個檔案通常被稱為「主程式檔」(entry point)或「啟動檔」(bootstrapping file)。在Python中,這個檔案的名稱通常是__main__.py,並且它會包含任何直接從命令列執行時會執行的代碼。

在其他程式語言中,如Java,沒有最上層陳述式的概念。所有的代碼都必須被包含在類別中,而且Java應用程式必須有一個特定的類別(稱為「主要類別」),它包含一個名為main的特殊方法(稱為「主要方法」),這個方法是Java虛擬機器(JVM)執行的入口點。

在C和C++中,最上層的陳述式可以出現在任何檔案中,因為這些語言允許全域變數和函式。然而,C++有一個特殊的概念叫做「主程式陳述式」(main function),它是程式的入口點,而且通常只會有一個。

總之,是否允許有多個編譯單位包含最上層陳述式取決於所使用的程式語言。在Python中,只有一個檔案可以包含最上層陳述式;在Java中,最上層陳述式的概念根本不存在;在C和C++中,最上層陳述式可以出現在任何檔案中,但C++有且只有一個主程式陳述式。