2013-1<上> 疑問
5日:
c/c++全局對象的初始化時機(jī)
c/c++全局對象的初始化時機(jī),在很多書上都提了一句在進(jìn)入main之前就會做好。在進(jìn)入main之前可以是編譯期、鏈接期和運(yùn)行至main之前的運(yùn)行期。究竟在哪個階段恐怕和編譯器有關(guān)
下面以vc2010編譯器舉例來說。
int g_i = 5; // 在編譯鏈接期就把數(shù)據(jù)寫全局?jǐn)?shù)據(jù)區(qū).
int geti(){ return time(null)/5;}//main之前的運(yùn)行期
Student t;//main之前的運(yùn)行期
7日:
7z打包
昨天,由于客戶需要一個新開發(fā)項目來試用。倉促之時,也沒有制作安裝包就臨時把用到的文件壓縮一下發(fā)給客戶了。結(jié)果,用戶抱怨運(yùn)行不了,因為少了幾個VC10.0的動態(tài)鏈接庫。
今天,我寫了批處理文件來打包,批處理中用了7z.exe.
a 表示添加一個文件。如7z.exe a release.zip ".\vc10releasedll\*.*" ,就把當(dāng)前vc10releasedll下的文件加進(jìn)了release.zip壓縮包中。
再如7z.exe a release.zip ".\release\abc.exe",就把release目錄下的abc.exe文件加進(jìn)了release.zip壓縮包中。
d 表示刪除壓縮中的一個文件.如 7z.exe d release.zip *.ini,就會從release.zip中刪除所有后綴為ini的文件.
l 表示列出其中的文件了.
8日:
基于MFC框架做的MDI程序,點(diǎn)擊窗口菜單中的窗口命令時,彈出一個窗口管理的對話框。在有的電腦上顯示的中文,而在有的電腦上顯示的是英文。這個菜單項的命令I(lǐng)D宏
是ID_WINDOW_MANAGER,響應(yīng)函數(shù)在CMDIFrameWnd中,名稱是afx_msg void OnWindowManager()。一路跟蹤該函數(shù)發(fā)現(xiàn)最終是打開CMFCWindowsManagerDialog
對話框,該對話框定義在MFC的資源中。至此事情已經(jīng)明了。
到VC安裝目錄中的發(fā)布包目錄,找出中文資源包mfc100chs.dll,放到運(yùn)行程序的目錄下。如此這般,彈出對話框就始終會是中文界面了。
29日:
定義一個結(jié)構(gòu)體變量時,首先不要采用定義時帶花括號的賦值。eg: Person p1={"kj",20....}這樣的方式,其次緊接在定義后用memset對該變量進(jìn)行清空>。
31日:
為一臺筆記本電腦安裝系統(tǒng),有幾個設(shè)備在其官方網(wǎng)站上始終沒有找到相應(yīng)的驅(qū)動。后來進(jìn)入設(shè)備管理器在設(shè)備的詳細(xì)信息屬性頁中查到了其對應(yīng)VEN 和DEV值,
再到 http://www.pcidatabase.com/網(wǎng)站上檢索到它對應(yīng)的驅(qū)動。
為電腦做ghost時卡在了"adding MFT Table File to image"。原因是手動GHOST時,選擇partion to image應(yīng)該注意,如果目標(biāo)分區(qū)是NTFS格式,則有真假分區(qū)之分,
真的是1.n的形式開頭的,假的是以盤符如E:的形式出現(xiàn)的,必須選擇真的1.n的形式開頭的目標(biāo)分區(qū)才能完成備份。
posted on 2013-01-05 17:39 Robertxiao 閱讀(317) 評論(0) 編輯 收藏 引用 所屬分類: C++