編譯單元
❶ 保存 失敗 編譯單元名必須以 .java 或者某個已注冊的類似於 Java 的擴展名結尾,請問這是咋回事
這個可能是你用文本編輯的時候,默認了擴展名。你把文件夾選項里的那個隱藏已知文件類型的擴展名,點工具-文件夾選項-查看-勾上隱藏已知文件類型的擴展名。這樣以後,再重新編輯保存。
❷ java中一個編譯單元只能有一個公共類寫兩個怎末不報錯呢
會報錯的。
如圖:
❸ JAVA問題:什麼叫做一個編譯單元
當一個c或cpp文件在編譯時,預處理器首先遞歸包含頭文件,
形成一個含有所有
必要信息的單個源文件,這個源文件就是一個編譯單元。
這個編譯單元會被編譯成為一個與cpp
文件名同名的目標文件
。
連接程序把不同編譯單元中產生的符號聯系起來,構成一個可執行程序。
❹ 編程編譯時生成的obj文件和exe文件本質上有什麼區別
本質上都是2進制代碼,
但是
obj
沒有經過鏈接的重定位,不是可執行的代碼。
而且一個obj對應一個cpp編譯單元,裡面的外部符號都沒解析出來。
比如a.cpp
通過b.h使用了一個
b.cpp里定義的函數
func();
那麼a.cpp生成的obj裡面只會有func()
這個函數名的調用而已,也就是一個(對a.obj來說的)外部符號。
只有經過鏈接成為了.exe,
相應於a.obj裡面的func()的調用才會更新成實際的b.obj裡面的func()的實際地址。
對全局變數也是同樣的道理。
❺ 在C/C++中,什麼叫編譯單元
可以這樣的理解:
編譯單元
當一個c或cpp文件在編譯時,預處理器首先遞歸包含頭文件,
形成一個含有所有 必要信息的單個源文件,這個源文件就是一個編譯單元。
這個編譯單元會被編譯成為一個與cpp 文件名同名的目標文件 。
連接程序把不同編譯單元中產生的符號聯系起來,構成一個可執行程序。
❻ 在同一編譯單元用extern和不用有什麼區別
對函數來說沒區別,不用extern的函數默認就是extern的,即其他文件也可以調用這個函數;但對變數來說有區別,不用extern聲明變數的話,變數默認是static的,其他文件不能使用這個變數。那麼如果所有函數和變數都只放在一個文件里進行編譯,用不用extern就沒有任何區別了。
❼ c#裡面一個類庫就是一個編譯單元
就是很多已經封裝好了的源代碼,不需要你去寫了,直接調用就行了.
❽ 編譯單元的介紹
當一個c或cpp文件在編譯時,預處理器首先遞歸包含頭文件,形成一個含有所有必要信息的單個源文件,這個源文件就是一個編譯單元。
❾ 在java中,什麼是編譯單元。如何根據編譯單元創建類庫,又如何使用這個類庫。
豬哥解答:
c領域倒是有編譯單元的說法,java 中沒有聽說。
類庫嗎,功能類集合,就是一組類放一起來實現某個功能。不要太去追概念性的東西,什麼白貓黑貓,能抓老鼠才是好貓。
類庫舉例:人、購物車、超市、商品,人去超市購買商品,道具是購物車,那我要准備幾個類
人.java,購物車.java,超市.java,商品.java,這幾個類通過人這個擁有各種動作行為(方法)的類聯繫到一起,實現了人推車在超市中買商品的購物動作。
那麼我這也就是一個類庫,多個類集中到一起,為了實現人購買商品這個功能。