MFC純復習題200504_第1頁
MFC純復習題200504_第2頁
MFC純復習題200504_第3頁
MFC純復習題200504_第4頁
MFC純復習題200504_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、實用軟件技術(shù)復習題1 在用API編寫Windows程序時,要有一個入口函數(shù),它的函數(shù)名和功能是什么?答:在Windows編程中這個入口函數(shù)就是WinMain()。WinMain函數(shù)主要用于初始化程序,顯示主窗口,并進入一個消息循環(huán)。2 在Windows程序的入口函數(shù)WinMain()中有一個消息循環(huán),代碼如下:while (GetMessage(&msg) TranslateMessage(&msg); DispatchMessage(&msg); 上述代碼中個函數(shù)作用是什么?答:通過GetMessage函數(shù)從線程的消息隊列中取出消息,用TranslateMessage函數(shù)將消息解釋后,再調(diào)用

2、DispatchMessage將該消息分發(fā)至相應的窗口過程(WndProc)進行處理。3 Windows程序中有一個窗口函數(shù),該函數(shù)的作用是什么?答 :每一個窗口都應該有一個“窗口函數(shù)”(window procedure,或稱window function)。 如果窗口獲得一個消息,則這個窗口函數(shù)必須判斷消息的類別,決定處理的方式。4 在Windows系統(tǒng)中分別定義了兩個數(shù)據(jù)類型用來表示應用程序?qū)ο蟮木浔按翱趯ο蟮木浔@兩個數(shù)據(jù)類型是什么?答:應用程序:數(shù)據(jù)類型HINSTANCE,也常把HINSTANCE的變量命名為hInstance, 窗口:數(shù)據(jù)類型為HWND(也寫成HWindow或HW

3、ND)。5 利用AppWizard生成的多文檔應用程序包括哪幾個主要的類?答:主要是 CWinApp, CDocument, CView, CFrameWnd派生,另外再加上CDocTemplate, 這5個類構(gòu)成了大部分MFC應用程序的核心, 6 MFC類庫可分為哪兩部分?答:MFC類庫可以分為兩部分,一部分是MFC類,另一部分是全局函數(shù)(變量)和宏。7 MFC中下列類的類名分別是什么?應用程序類(CWinApp)、視圖類(CView)、文檔類(CDocument)、窗口類(CWnd)、主框架窗口類(CFrameWnd)、文檔模板類(CDocTemplate)、對話框類(CDialog)、異

4、常類(CException)、字符串類(CString)、菜單類(CMenu)、工具欄類(CToolBar)、狀態(tài)欄類(CStatusBar)、靜態(tài)控件類(CStatic)、按鈕控件類(CButton)、編輯控件類(CEdit)、列表框控件類(CCListBox)、組合框控件類(CComboBox)、滾動條控件類(CScrollBar)。8 Windows系統(tǒng)的消息主要分為哪幾大類?并寫出幾個常用的消息及其消息處理函數(shù)。答:1. 標準的Windows消息以WM_為前綴,除了WM_COMMAND消息,(1) 鍵盤消息一類是系統(tǒng)鍵(system key),另一類則是非系統(tǒng)鍵。WM_CHAR也稱為鍵

5、盤消息,該消息的處理函數(shù)為OnChar()。此外還有兩個常用的鍵盤消息:WM_KEYDOWN按下非系統(tǒng)鍵和WM_KEYUP. 釋放非系統(tǒng)鍵 (2) 鼠標消息 #define WM_MOUSEMOVE 0x0200 /鼠標移動消息(3) 與窗口操作有關(guān)的兩個重要消息 WM_CREATE消息創(chuàng)建一個窗口時,會產(chǎn)生WM_CREATE消息,處理函數(shù)為:afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct) WM_PAINT消息重畫當前窗口時,會發(fā)出WM_PAINT消息。處理函數(shù)為:OnPaint()。2. 控件通知消息1) 文本編輯框控件消息2) 按扭控

6、件消息3)列表框控件消息4) 組合框控件消息5) 滾動欄控件消息6) 默認下壓式按扭消息3. 命令消息處理函數(shù)為:OnCommand()。4 定時消息如SetTimer(ID_TIMER, 1000, NULL); /該定時器ID,時間間隔,調(diào)用函數(shù)5 用戶自定義消息消息處理函數(shù)原型前面都有關(guān)鍵字 afx_msg前綴,用于把消息處理函數(shù)與其它函數(shù)區(qū)分開來。9 在MFC程序設計中,什么是消息映射?哪些類可以有消息映射?答:所謂消息映射,就是將消息與其處理函數(shù)相對應,即當系統(tǒng)產(chǎn)生一條消息時,它能夠找到處理該消息的函數(shù)。 在MFC中,凡是從CCmdTarget(命令發(fā)送類)派生的類都可以有消息映射。

7、10 MFC中有哪些常用的消息映射宏,它們各有什么作用?答:三種:DECLARE_MESSAGE_MAP、BEGIN_MESSAGE_MAP和END_MESSAGE_MAP。DECLARE_MESSAGE_MAP用于類申明的末尾,即在.h文件中;在實現(xiàn)文件(.cpp)中,使用BEGIN_MESSAGE_MAP和END_MESSAGE_MAP來完成消息映射的任務。DECLARE_MESSAGE_MAP:用于聲明在源文件中存在消息映射。BEGIN_MESSAGE_MAP:用于標志消息映射的開始, END_MESSAGE_MAP:標志消息映射的結(jié)束。11 AppWizard及ClassWizard各

8、有什么功能?答:與AppWizard類似,ClassWizard也能自動生成程序代碼,只是兩者生成的對象不同,AppWizard主要用來創(chuàng)建應用程序的框架,而ClassWizard則主要是在應用程序框架的基礎上創(chuàng)建和編輯各種類。ClassWizard既可以操作由AppWizard在應用程序框家中創(chuàng)建的類,又可以操作后來由ClassWizard自己添加的類。利用ClassWizard可以很輕松地完成一些最基本、最普通的工作,如在自己的應用程序中創(chuàng)建新類、映射消息為其添加消息處理函數(shù)、覆蓋虛擬函數(shù)、將對話框中的控件與某個變量相關(guān)聯(lián)等。12 如何應用ClassWizard創(chuàng)建一個新類?要求寫出主要步

9、驟。答:只需指定一些關(guān)于新類的重要信息,ClassWizard將自動為你生成代碼。步驟如下:(1) 首先打開FirstApp的項目工作區(qū)。(2) 點擊菜單項View|ClassWizard,進入ClassWizard對話框。(3) 在Message Maps選項卡中選擇功能按鈕Add Class,并從其下拉選項欄中單擊New選項,將會打開New Class對話框。(4) 首先在Name欄中鍵入新類的名稱,如FirstButton。(5) 接下來應當設定新類的基類,即該類是由什么類派生而來的。(6) 如果創(chuàng)建的基類需要對話框或其它資源,則在Dialog ID框中選擇一個資源ID值。(7) Aut

10、omation組框用于設置類的自動化信息,這只適用于能夠自動化的類,即由CCmdTarget所派生的類,我們保持其默認選擇None。(8) 最后單擊OK按鈕結(jié)束。13 如何應用ClassWizard為視圖類的WM_LBUTTONDOWN消息添加一個消息處理函數(shù)?假定項目工程的名稱為FirstApp,要求寫出主要步驟。答:以FirstApp應用程序為例來添加消息處理函數(shù),處理用戶在視圖中的單擊鼠標操作。步驟如下:(1) 首先打開FirstApp的項目工作區(qū)。(2) 點擊菜單項View|ClassWizard,進入ClassWizard對話框。(3) 選擇Message Maps選項卡,在Proj

11、ect下拉列表框中選擇項目名FirstApp,在Class name下拉列表框中選擇類名CFirstAppView。(4) 在Object IDs列表框中選擇對象ID為CFirstAppView。(5) 在Message列表框中選擇需要處理的消息為WM_LBUTTONDOWN,即按下鼠標左鍵消息。(6) 此時會發(fā)現(xiàn)Add Function按鈕已經(jīng)可用。單擊此按鈕,ClassWizard將選中消息的處理函數(shù)添加到Member Functions列表框中。在本例中,對應WM_LBUTTONDOWN消息的處理函數(shù)是OnLButtonDown()。(7) 最后單擊OK按鈕結(jié)束。14 ClassWiza

12、rd的Message Maps選項卡的Object Ids列表框中顯示什么信息?答: Object IDs列表框:顯示當前選定類中能夠產(chǎn)生消息的對象的ID值。這些對象包括菜單選項、工具欄按鈕選項、對話框以及各種控件等。15 Class Wizard的Message Maps選項卡的Messages列表框中顯示什么信息?答: Message列表框:當Object IDs列表框中選定當前類名時,Message列表框前部分顯示的是當前類所能覆蓋的虛擬函數(shù),后部分顯示的是能夠處理的消息。16 在文檔視圖結(jié)構(gòu)中,文檔類與視圖類各有什么作用?答:文檔類用于管理應用程序中的各種數(shù)據(jù), 在MFC應用程序中,文

13、檔用于管理、保存應用程序中的各種數(shù)據(jù), 視圖的主要作用是顯示文檔數(shù)據(jù)、接收用戶的輸入并將其解釋為對文檔的操作。17 在文檔視圖結(jié)構(gòu)中,視圖類通過什么途徑訪問和操作文檔類的數(shù)據(jù)?答: 視圖通過使用視圖中指向文檔的指針來訪問文檔對象。在使用MFC應用程序向?qū)?chuàng)建的程序中,這個指針被直接放在視圖類的數(shù)據(jù)成員中。用戶可以調(diào)用CView類的成員函數(shù)GetDocument()在視圖的成員函數(shù)中檢索該指針,獲取指針后才可以使用指針訪問文檔類的數(shù)據(jù)。18 文檔類中的成員函數(shù)UpdateAllViews()有什么作用?答:UpdateAllViews()函數(shù)用于通知所有視圖它的文檔已經(jīng)被更改。19文檔類中創(chuàng)建一

14、個新文檔時,將調(diào)用什么成員函數(shù)?文檔數(shù)據(jù)的初始化在哪個成員函數(shù)里實現(xiàn)。答:創(chuàng)建一個新文檔時,將調(diào)用OnNewDocument()函數(shù)。它先調(diào)用DeleteContents()函數(shù)把文檔內(nèi)容清除掉此外,OnNewDocument()還會將文件名清除,改用缺省文件名,并且調(diào)用SetModifiedFlag()函數(shù)將“修改標志”設成FALSE。調(diào)用這個函數(shù)重新初始化已經(jīng)存在的文檔。20 文檔類中打開一個已存在的文檔、設置文檔修改標志、保存一個已存在的文檔、關(guān)閉一個文檔時時,各調(diào)用什么成員函數(shù)?答:使用OnOpenDocument()函數(shù)打開指定的文件時,通常先調(diào)用DeleteContents()函數(shù)

15、來確保文檔已經(jīng)被清空(動態(tài)銷毀分配的數(shù)據(jù)),并調(diào)用Serialize()函數(shù)讀取文檔內(nèi)容。void CDocument:SetModifiedFlag(BOOL bModified = TRUE);通常在存檔時程序會調(diào)用IsModified()檢查修改標志,如果“修改標志”的狀態(tài)為FALSE,表示文檔沒有被修改過,因此可以考慮不做實際存檔操作。儲存文檔有兩種方式,第一種是“Save”,第二種是“Save As”。兩者的差異在于后者會查詢文件名,但最終兩者都會跳到OnSaveDocument()進行實質(zhì)的存檔操作,該函數(shù)唯一的參數(shù)就是文檔的文件名。函數(shù)原型如下:virtual BOOL CDoc

16、ument:OnSaveDocument(LPCTSTR lpszPathName);當關(guān)閉一個打開的文檔時,將調(diào)用OnCloseDocument()函數(shù)。21 MFC編程時采用串行化方法加載和保存文檔中的數(shù)據(jù)成員,這通過調(diào)用serialize()函數(shù)實現(xiàn),serialize()函數(shù)的結(jié)構(gòu)如下:void CFirstAppDoc:Serialize(CArchive& ar)if (ar.IsStoring()/ TODO: add storing code hereelse/ TODO: add loading code here請問儲存數(shù)據(jù)及讀取數(shù)據(jù)的代碼應當分別將放到哪一語句塊?答:當我

17、們需要修改Serialize函數(shù)以滿足應用程序的需要時,應該將寫文檔數(shù)據(jù)(輸出)的代碼放在if程序段中,而將讀取文檔數(shù)據(jù)(輸入)的代碼放在else程序段中。22 在視圖類中,當需要繪制或重繪視圖窗口時將調(diào)用哪個成員函數(shù)?答:virtual void CView:OnDraw(CDC* pDC) ;當需要繪制或重繪視圖窗口時會調(diào)用此函數(shù),此外打印以及打印預覽時也會調(diào)用OnDraw()。23在視圖類中的成員函數(shù)OnUpdate()有什么作用?答:OnUpdate()收到Document的消息之后會調(diào)用Invalidate(),重繪整個View。當CDocument的UpdateAllViews()

18、函數(shù)被調(diào)用時,如果pSender參數(shù)指向某個特定的視圖,那么除了該指定的視圖,文檔所有其它視圖的OnUpdate()函數(shù)都會被調(diào)用。24 在用MFC設計程序時,框架與視圖有什么區(qū)別?答:框架與視圖是兩個不同的概念,框架窗口的作用是顯示一個或多個視圖,MFC的應用程序框架使用框架窗口來包含視圖,將框架窗口與視圖分開,使用戶界面的設計更加靈活。MFC使用框架窗口類管理框架,使用視圖類來管理框架中的視圖。用戶與文檔之間的交互操作(如繪圖)發(fā)生在視圖的客戶區(qū)內(nèi),而不是框架窗口的客戶區(qū)內(nèi)??蚣艽翱谔峁┝擞糜诃h(huán)繞視圖的可見框架25 在用戶界面設計中,假定應用程序框架已經(jīng)帶有一個初始的菜單,在此基礎上用戶要

19、設計自己的菜單一般包括哪幾個步驟?答:創(chuàng)建新菜單,應選擇菜單項Insert | Resource,并在打開的Insert Resource對話框中選中Menu選項,再單擊New按鈕,就可以啟動新菜單資源的創(chuàng)建工作。如果想在當前菜單條前添加一個新的菜單條,按下Insert鍵,在該菜單條前就會出現(xiàn)一個新的空白菜單條,然后可為其設置屬性。26 在菜單編輯器中,怎樣添加一個新的菜單選項?答:菜單編輯器中,用鼠標選中某個菜單項,直接雙擊該菜單項,或在選定菜單項上按下Enter鍵即可進入該菜單項的屬性表對話框。也可以通過選擇菜單項View | Properties打開該對話框。27 如何利用ClassWi

20、zard給某個菜單選項添加消息響應函數(shù)?假設項目工程名為FirstApp,菜單項的ID值為ID_DRAW。答: 進入ClassWizard(可按鼠標右鍵,在彈出的快捷菜單中選ClassWizard),選Message Maps,從Project下拉列表框中選FirstApp,從Class name框中選擇CFirstAppView類。此時在Object Ids列表框中顯示CFirstAppView類能夠產(chǎn)生消息的對象ID值,從中選取某個新添加的菜單項的ID號。 在Message列表框中選擇COMMAND,此時Add Function按鈕變?yōu)閷嶓w顯示,單擊Add Function按鈕后,彈出一個

21、對話框,顯示該消息默認的消息響應函數(shù)名,用戶可以更改該函數(shù)名。點擊OK鍵后,在Member Function列表框中會出現(xiàn)剛才確認的消息響應函數(shù)名,再單擊OK鍵完成添加消息響應函數(shù),該函數(shù)也是當前操作的類的成員函數(shù)。也可以點擊Edit Code按鈕,完成添加成員函數(shù),并且在源代碼編輯窗格中打開該函數(shù)體所在的源文件,將光標自動跳到該函數(shù)所在的位置,提示用戶輸入消息響應函數(shù)的代碼。編輯完成后經(jīng)編譯、鏈接后即可執(zhí)行相應的菜單功能。28在用戶界面設計中,要實現(xiàn)動態(tài)更新菜單,怎么設計代碼?必須為菜單選項的哪一個消息添加消息處理函數(shù),答:在用戶單擊菜單后,菜單中的菜單項需要知道它目前的狀態(tài),如是否被禁用等

22、。Windows提供了ON_UPDATE_COMMAND_UI消息參與對用戶界面對象(菜單和控鍵欄等)的更新。ON_UPDATE_COMMAND_UI消息是MFC自己定義的,菜單狀態(tài)的更新工作由MFC自動處理這些細節(jié)。 29在用戶界面設計中,假定應用程序框架已經(jīng)帶有一個初始的工具欄,在此基礎上用戶要設計自己的工具欄一般包括哪幾個步驟?答:MFC創(chuàng)建工具欄的一般流程是:1 創(chuàng)建工具欄資源,用工具欄編輯器進行創(chuàng)建或編輯,方法見前述第一部分。2 在應用程序中(一般在CMainFrame中)構(gòu)造CToolBar對象。3 調(diào)用CToolBar類的Create()函數(shù)或CreateEX()函數(shù)創(chuàng)建一個工具

23、欄,并將其與CToolBar對象相連接。4 調(diào)用LoadToolBar()函數(shù)來加載在第一步中創(chuàng)建的工具欄資源。30 假設有一個常用的菜單選項,其ID值為:ID_DRAW?,F(xiàn)在要對這個菜單項創(chuàng)建一個工具欄按鈕,則該工具欄按鈕的ID值應該設置為什么值?答:其ID值為:ID_DRAW31 狀態(tài)欄的作用是什么?它分為哪兩種類型的文本窗格?答:狀態(tài)欄的作用就是在窗格(Pane)中顯示一些文本。狀態(tài)欄支持兩種類型的文本窗格:信息行窗格和指示器窗格。32 創(chuàng)建狀態(tài)欄時,先要定義一個indicators數(shù)組,如下面的定義static UINT indicators =ID_SEPARATOR, ID_IND

24、ICATOR_CAPS,ID_INDICATOR_NUM,ID_INDICATOR_SCRL,;該數(shù)組定義的狀態(tài)欄有哪幾個窗格?答:常量ID_SEPARATOR標識了消息行窗格;其它三個常量為字符串資源ID,用來標識指示器窗格,如果要增加指示器窗格,則只需在數(shù)組中增加相應的ID。通過增加ID_SEPARATOR常量還可以增加消息行窗格。下圖顯示了indicators數(shù)組及它同狀態(tài)欄的關(guān)系。CStatusBar:SetIndicators成員函數(shù)根據(jù)indicators數(shù)組的內(nèi)容來配置狀態(tài)欄。33對于有模式的對話框,調(diào)用對話框類的哪個成員函數(shù)才能顯示這個對話框?答:有模式對話框用對話框的DoMo

25、dal()函數(shù)來顯示。34在用戶界面設計中,設計并使用一個對話框的有哪些主要步驟?答:1 創(chuàng)建應用程序框架。2 在文檔類中增加所需要的成員變量。3 創(chuàng)建對話框資源4 創(chuàng)建對話框類5為對話框類添加成員變量,使其與對話框中的控件相關(guān)6 編輯菜單資源及添加菜單的消息響應函數(shù)7 在對話框類中為OK按鈕添加消息響應函數(shù)。8 在視圖類的實現(xiàn)文件中添加有關(guān)的包含文件。9 修改視圖類的OnDraw()函數(shù)10 編譯、鏈接、執(zhí)行該程序35 闡述使用關(guān)聯(lián)成員變量進行對話框數(shù)據(jù)交換的機制。答:使用關(guān)聯(lián)成員變量更新數(shù)據(jù):就是將對話框中的一個控件與一個變量相關(guān)聯(lián),當數(shù)據(jù)有更新時,可以使用UpdateData()函數(shù)讓對

26、話框數(shù)據(jù)或控件顯示的數(shù)據(jù)進行更新。36 在MFC中,有哪些常用的基本控件?各有什么作用?答:控件類型作用靜態(tài)控件顯示一些固定的文字提示或圖形描述按鈕用來產(chǎn)生某些命令或改變某些選項設置滾動條通過滾動塊在滾動條上的移動來改變某些數(shù)值選項列表框顯示一個列表,讓用戶從中選取一個或多個項編輯框?qū)崿F(xiàn)文本的輸入輸出,用戶能查看并編輯文字組合框把列表框和編輯框有機地組合在一起,用戶不僅能選擇列表中已有的項,還能添加新的項37 MFC提供了哪幾類常用的繪圖工具?各有什么功能?答:這些工具就是GDI對象。GDI對象包括繪制線條的畫筆、用于區(qū)域填充的畫刷以及繪制文本的字體等。38 使用畫筆工具的主要步驟有那些?答:

27、使用畫筆的主要步驟如下: 創(chuàng)建新的畫筆類對象 保存原來的舊畫筆, 開始實際繪圖工作 恢復原來的舊畫筆39 CDC類提供哪兩類文本輸出函數(shù)?各有什么特點?答:CDC類中有兩種文本輸出函數(shù):TextOut()函數(shù)和DrawText()函數(shù),TextOut()函數(shù)只能處理單行文本,而DrawText()函數(shù)可以處理多行文本。40 CDC類中下列繪圖函數(shù)的功能是什么?各參數(shù)的含義是什么?COLORREF SetPixel(int x, int y, COLORREF crColor);畫點函數(shù):它用指定的顏色在指定的坐標位置畫一個點,其中,參數(shù)x, y指定點的坐標;crColor 指定顏色值,可以使用

28、RGB(rr,gg,bb)宏合成顏色。p為一個POINT結(jié)構(gòu)或CPoint對象,其成員就是x, y,即點的坐標。CPoint MoveTo(int x, int y);畫直線先用MoveTo()函數(shù)移動當前點使用x, y來指定新位置點的坐標BOOL LineTo(int x, int y);LineTo()函數(shù)用于在當前點和指定點之間畫一條直線,使用x, y來指定線段終點的坐標BOOL Arc(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4);Arc()函數(shù)用于畫一條橢圓弧線參數(shù)的含義如下:x1, y1:指定矩形左上

29、角的坐標。 x2, y2:指定矩形右下角的坐標。x3, y3:指定圓弧起始參考點坐標。 x4, y4:指定圓弧結(jié)束參考點坐標。BOOL Ellipse(int x1, int y1, int x2, int y2);Ellipse()函數(shù)用于畫橢圓參數(shù)x1, y1指定橢圓外切矩形左上角橫、縱坐標;x2, y2指定橢圓外切矩形右下角橫、縱坐標;BOOL Rectangle(int x1, int y1, int x2, int y2);Rectangle()函數(shù)用于畫矩形,其中,參數(shù)x1, y1指定矩形左上角橫、縱坐標;x2, y2指定矩形右下角橫、縱坐標41 簡述動態(tài)鏈節(jié)與靜態(tài)鏈節(jié)的區(qū)別答:所

30、謂靜態(tài)鏈接就是把要調(diào)用的函數(shù)或者過程鏈接到可執(zhí)行文件中,成為可執(zhí)行文件的一部分,可執(zhí)行文件中包含了運行時所需的全部代碼。但當多個程序都調(diào)用同一函數(shù)時,內(nèi)存中就會存在這個函數(shù)的多個拷貝,這顯然造成了內(nèi)存資源的浪費。它還增加了可執(zhí)行文件的大小,會占用更多的磁盤空間。另外,在編寫大的可執(zhí)行文件時,每次修改源代碼都要對所有的源代碼進行編譯,增加了編譯的復雜性,也不利于階段性的單元調(diào)試。在動態(tài)鏈接中,所要調(diào)用的函數(shù)代碼并沒有被拷貝到可執(zhí)行文件中去,而是僅僅在其中加入了所調(diào)用函數(shù)的描述信息。當應用程序開始運行時,在Windows的管理下,在應用程序和相應的動態(tài)鏈接之間建立關(guān)系,當要執(zhí)行所調(diào)用的動態(tài)鏈接時,

31、根據(jù)鏈接的描述信息,Windows轉(zhuǎn)去執(zhí)行動態(tài)鏈接中相應的函數(shù)代碼。42 使用Visual C+可以生成哪幾種類型的動態(tài)鏈接庫?答:使用VisualC+,可以生成四種類型的動態(tài)鏈接庫。使用“Win32應用程序向?qū)А眲?chuàng)建Win32 DLL,也稱為非MFC DLL。 使用“MFC DLL向?qū)А鄙伸o態(tài)鏈接到MFC的規(guī)則DLL。 使用“MFC DLL向?qū)А鄙蓜討B(tài)鏈接到MFC的規(guī)則DLL。 使用“MFC DLL向?qū)А鄙蒑FC擴展DLL,這些DLL使用動態(tài)鏈接MFC。43 在DLL中聲明導出函數(shù)有哪幾種方法答:DLL中聲明導出函數(shù)共有三種方法: 在生成DLL時,創(chuàng)建一個模塊定義文件(.DEF)并使用此文件。 在即將導出的函數(shù)定義中使用關(guān)鍵字 _declspec(dllexport)。 使用AFX_EXT_CLASS宏導出類,這種方法只能用于擴展DLL。44 應用程序隱式鏈接到DLL時必須要提供哪幾個文件?答:為了隱式鏈接到DLL,可執(zhí)行文件必須從DLL的提供者獲取三個文件: 包含導出函數(shù)或C+類的聲明的頭文件(.H),在程序開發(fā)時需要知道函數(shù)名和函數(shù)的入口信息。使用DLL的可執(zhí)行文件必須包含頭文件,此頭文件中包含每個源文件中的導出函數(shù)或C+類,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論