afx是什麼意思呀,什麼時候要include呢,這個標頭檔案的作用是??
是MFC小組早期的代號,AFX,當時是指 applecation freamwork ,如果你的程式用到了MFC,那這個標頭檔案是一定要包含的。
Microsoft的程式設計師開始試圖將C++和麵向物件的程式設計概念應用於Windows程式設計中,經編寫出一個可以使windows程式設計工作更加簡便的應用程式框架。他們把這個應用程式框架叫做AFX(AFX這個詞來源於Application FrameWork,但奇怪的是這個片語中並沒有包含"X"這個字母)。直到今天,AFX小組早已不存在了,AFX這個名稱也於1994年初不再使用,但在Visual C++和MFC中,AFX的影子卻隨處可見,很多全域性函式、結構和巨集的識別符號都被加上了AFX的字首。
關於afx這個詞的意思tasehouny(阿甘)說的是對的 afx.h是VC裡的預編譯頭,比如說你有十個CPP檔案 每個都include了windows.h,結果windows.h就會被編譯十次 要知道windows.h是很大的,編譯起來很慢 這個時候你就可以在afx.h里加一句#include <windows.h> 然後afx.h連同裡面所有的include會被編譯成一個PCH檔案 這樣編譯十個CPP的時候都直接拿這個PCH檔案來用 不用重複編譯了,速度提高很多 如果你在建立專案的時候選了預編譯頭支援(預設是有), 就必須在每個CPP的第一行加上#include "afx.h"
在九十年代初的時候OO被炒得很熱,許多人以為OO是無所不能的 微軟也這麼認為,所以他們想搞出一套類庫來封裝全部的OS特性 使得程式可以在WINDOWS OS/2 X等等任何的GUI系統上執行 結果可想而知,這個東西當然是沒做出來 到94年微軟放棄了AFX,把AFX中已經完工的部分做了一點改進 形成了MFC 至今MFC還有LINUX版本,也算是AFX計劃的一點殘留吧