實驗1 5 用工作區組織工程

2021-06-03 05:38:48 字數 2342 閱讀 5658

實驗目的:在vc6.0中利用工作區(workspace或工作空間)組織工程(project)。

實驗內容:建立乙個工作區,並在其中建立多個工程。

實驗重難點:理解工作區的概念;分清工作區與工程的關係;明白何謂「活動工程」。

實驗步驟:

vc6.0中的工程用於組織程式,乙個工程中可以包含多個原始檔,但原始檔中只能有乙個main函式,通常可以由工程得到可執行檔案。仔細觀察實驗1-1中的圖2可知,在建立工程時,實際上已經建立了乙個工作區。(注意工作區與工作空間僅是workspace的兩種譯法)

圖1 新建工程時會自動建立乙個工作區

由此可知,每個工程都屬於乙個工作區。在工程檔案所在的資料夾中以.dsw(developer studio workspace)為副檔名的檔案存放了工作區的資訊,而.dsp(developer studio project) 為副檔名的檔案存放了工程的資訊。

檔案選單中的命令,如圖2所示,仔細觀察後發現vc6.0實際上是以工作空間(工作區)為「單位」來進行管理的。

圖2 檔案選單中的命令

工作區有什麼作用呢?顧名思義工作區是工作的區域。設想一下,正在編輯乙個專案時因某種原因不得不停下,此時可能希望當下次工作時vc6.0能自動定位到中斷的位置以便繼續。如果如此,則有關專案的一些狀態資訊必須儲存,如此時開啟了專案中哪幾個檔案,當前的輸入位置在什麼地方等等。這些資訊只是與工作有關的資訊,不適合在專案檔案中儲存, 儲存在工作區中是再恰當不過了。

在建立工程時也可以把它新增到當前工作區,顯然可以單獨建立乙個工作區,而並非總是在建立工程時自動建立工作區。

開啟vc6.0,選擇【檔案(file)】|【新建(new)】選單命令或按下快捷鍵(ctrl+n),則彈出新建(new)對話方塊。單擊「工作區」選項卡,如圖3所示。

圖3 「工作區」選項卡

2.單擊圖3中的「確定」按鈕後,如圖4所示。

圖4 乙個空白工作區

開啟資料夾「f:\c語言程式示例\08141101」,如圖5所示,觀察所在生成的檔案。

圖5 新建乙個工作區後生成的檔案

思考:工作區意味著什麼?

3. 選擇【檔案(file)】|【新建(new)】選單命令或按下快捷鍵(ctrl+n),則彈出新建(new)對話方塊,如圖6所示。

圖6 在工作區中建立工程

選擇「新增到當前工作空間」,注意「位置」文字框中的變化,如圖7所示。

圖7 把工程「新增到當前工作空間」

4.建立乙個名為test1的工程,且在test1工程中建立乙個名為test1.c的原始檔,如圖8所示。

圖8 包含乙個名為test1工程的工作區

5.編譯工程,執行程式,如圖9所示。

圖9 編譯工程執行程式

此時與以前的建立工程時自動建立工作區的方式似乎沒有區別,果真如此嗎?

再次開啟資料夾「f:\c語言程式示例\08141101」,如圖10所示,觀察變化。

圖10 建立乙個工程後資料夾的狀態

思考:先建立乙個空白的工作區,再向其中新增工程的方式與以前的方式相比有何不同?怎麼沒有看到含有test1工程資訊的檔案test1.dsp?

6.回到vc6.0,再次選擇【檔案(file)】|【新建(new)】選單命令或按下快捷鍵(ctrl+n),則彈出新建(new)對話方塊,如圖11所示。

圖11 再見新建(new)對話方塊

單擊「工程」選項卡,選擇「新增到當前工作空間」,如圖12所示。

圖12再次選擇「新增到當前工作空間」

接下來新建乙個名為test2的工程,並向test2工程中建立乙個名為test2.c的原始檔,如圖13所示。

圖13 新建乙個名為test2的工程

思考:乙個工作區中包含了兩個工程,每個工程中有乙個main函式,此時工作區中就有了兩個main函式,再次編譯時會出現錯誤嗎?

7.按下快捷鍵ctrl+f5編譯,如圖14所示。

圖14 編譯含有兩個工程的工作區

通過觀察可以發現,沒有出錯並且工程2被編譯了。

思考:1)  編譯與工程和工作區的關係。

2)  工作區中有多個工程時哪個工程會被編譯?

8.在工作區窗格的test1 files上單擊滑鼠右鍵,在彈出選單中選擇「設為活動工程」,如圖15所示。

圖15 把工程test1設為活動工程

此時似乎沒有什麼改變,如圖16所示。

圖16 工作區似乎沒有改變

再次下快捷鍵ctrl+f5編譯,如圖17所示。

圖17 執行結果已經改變

工作區如舊,但編譯後執行的卻是由工程test1得到的程式,顯然這次編譯的是工程test1!

思考:工作區、工程與編譯的關係究竟如何?

9.再次開啟資料夾「f:\c語言程式示例\08141101」,如圖18所示,觀察變化。

圖18 包含了兩個工程的工作區所在資料夾

思考:工作區有什麼作用?

使用工作佇列

驅動為需要延遲處理的工作建立一 work struct 結構,該結構即為 工作單元 它還包含一 函式指標 用來處理具體的延遲工作 該工作單元被新增到當前 cpu 的預設工作執行緒 或自定義工作執行緒的工作佇列中等待處理 在某一時刻 工作執行緒被喚醒 它將迴圈處理工作佇列中的每乙個 工作單元 使用系統...

seo常用工作表

做推廣的朋友可能都知道,我們每天做的事都是差不多的,很重複的,很多朋友經常找別人要外鏈資源什麼的,其實你自己可能也接觸過很多的 只是自己沒有去總結和記錄,一旦用起來,感覺自己還是什麼資源都沒有。那麼下面荊州seo徐國祥和大家共享一些seo工作表,拿幾個主要的 說明下怎麼使用。1.外鏈資源表 缺少外鏈...

Linux系統常用工作命令

linux系統常用工作命令 date 用於顯示及設定系統的時間或日期 reboot 用於重啟系統 poweroff 用於關閉系統 top 用於動態地監視程序活動與系統負載等資訊 ifconfig 用於獲取網絡卡配置與網路狀態等資訊 uname a 用於檢視系統核心與系統版本等資訊 uptime 用於...