程式設計小白成長記(一)
2015年12月27日
其實我寫這些部落客要算是一種督促,算是一種日記吧。我認為把日常程式設計的内容寫下來會更有利于自己的學習,更何況程式猿們通常因為長時間程式設計,表達能力會下降不少。而我并不希望自己變成一個羞于開口的人。于是,我決意開始寫這個半日記半自我總結的部落格。同時,我也強迫自己使用了以前并不熟悉的markdown編輯器。
那麼就開始寫我的第一篇部落格吧。今天我主要的目标是大緻了解作業系統課的作業。實驗的目标是:編制兩個Windows視窗程式P1、P2。其中P1是前台程序,負責接收使用者的輸入,并通過消息機制或共享記憶體發送相應消息到P2。P2是背景程式,在收到消息後,根據不同的消息進行相應的操作。
其中,P1發出的指令包括:
1. 運作某個程式:使用者輸入在P1中運作的程式名和參數,P1發送給P2,P2執行這個程式。
2. 結束某個程序:P1向P2發送擷取運作子程序的請求,擷取P2運作的子程序清單并顯示,使用者選擇一個子程序發送給P2,P2終止該子程序并通知P1。
那麼問題來了,如何設計這個項目?讓我來逐字逐句的分析這個問題。
- 我要知道如何編制視窗程式;
- 我要知道如何讓視窗程式P1接收使用者的輸入;
- 我要知道怎麼編寫出消息機制和共享記憶體兩個程序間通信方式,以及這兩個方式怎麼把消息發到P2;
- 現在我知道P1傳遞的消息是P1中運作的程式名和參數。而至于P2,我認為使用CreateProcess函數就可以運作這個程式;
- 我要知道如何讓P1向P2發送擷取運作子程序的請求,并擷取P2運作的子程序清單;
- P1如何顯示子程序清單;
- 使用者如何将子程序發送給P2;
- P2如何終止子程序,并将結果通知給P1。
于是,今天的設計就是這樣。