VS2012

Problem 一、.NET framework、? 以一種採用系統虛擬機運行的編程平臺,以通用語言運行庫(Common Language Runtime)爲基礎,支持多種語言(C#、VB、C++、Python等)的開發; 二、 win32控制檯項目指的在32爲Windows命令提示符(dos)環境下運行的應用程序。 控制檯應用程序一般沒有用戶界面,並編譯成獨立的可執行文件。 win32項目包括運行於32位Windows操做系統中的應用程序,包括win32控制檯項目。ios

三、C++中的#include "stdafx.h"是什麼意思?
#include "stdafx.h":目的是編譯多個源文件時提升效率。跟語法沒有關係 是預編譯處理器把stdafx.h文件中的內容加載到程序中來。 stdafx.h
1名稱的英文全稱爲:Standard Application Fram Extend 所謂頭文件預編譯,就是把一個工程(Project)中使用的一些MFC標準頭文件(如Windows.H、Afxwin.H)預先編譯,之後該工程編譯時,再也不編譯這部分頭文件,僅僅使用預編譯的結果。這樣能夠加快編譯速度,節省時間。 預編譯頭文件經過編譯stdafx.cpp生成,以工程名命名,因爲預編譯的頭文件的後綴是「pch」,因此編譯結果文件是projectname.pch。c++

編譯器經過一個頭文件stdafx.h來使用預編譯頭文件。stdafx.h這個頭文件名是能夠在project的編譯設置裏指定的。編譯器認爲,全部在指令#include "stdafx.h"前的代碼都是預編譯的,它跳過#include "stdafx. h"指令,使用projectname.pch編譯這條指令以後的全部代碼。 所以,全部的MFC實現文件第一條語句都是:#include "stdafx.h"。編程

2 詳細工做原理及做用 stdafx.h中沒有函數庫,只是定義了一些環境參數,使得編譯出來的程序能在32位的操做系統環境下運行。 Windows和MFC的include文件都很是大,即便有一個快速的處理程序,編譯程序也要花費至關長的時間來完成工做。因爲每一個.CPP文件都包含相同的include文件,爲每一個.CPP文件都重複處理這些文件就顯得很傻了。 爲避免這種浪費,AppWizard和VisualC++編譯程序一塊兒進行工做,以下所示: ◎AppWizard創建了文件stdafx.h,該文件包含了全部當前工程文件須要的MFCinclude文件。且這一文件能夠隨被選擇的選項而變化。 ◎AppWizard而後就創建stdafx.cpp。這個文件一般都是同樣的。 ◎而後AppWizard就創建起工程文件,這樣第一個被編譯的文件就是stdafx.cpp。 ◎當VisualC++編譯stdafx.cpp文件時,它將結果保存在一個名爲stdafx.pch的文件裏。(擴展名pch表示預編譯頭文件。) ◎當VisualC++編譯隨後的每一個.cpp文件時,它閱讀並使用它剛生成的.pch文件。VisualC++再也不分析Windowsinclude文件,除非你又編輯了stdafx.cpp或stdafx.h。 這個技術很精巧,你不這麼認爲嗎?(還要說一句,Microsoft並不是是首先採用這種技術的公司,Borland纔是。)在這個過程當中你必須遵照如下規則: ◎你編寫的任何.cpp文件都必須首先包含stdafx.h。 ◎若是你有工程文件裏的大多數.cpp文件須要.h文件,順便將它們加在stdafx.h(後部)上,而後預編譯stdafx.cpp。 ◎因爲.pch文件具備大量的符號信息,它是你的工程文件裏最大的文件。 若是你的磁盤空間有限,你就但願能將這個你從沒使用過的工程文件中的.pch文件刪除。執行程序時並不須要它們,且隨着工程文件的從新創建,它們也自動地從新創建。函數

3 如何理解其原理 通俗一點說 當咱們使用AppWizard來自動生成某些項目的時候,系統會自動把所須要include的頭文件在stdafx.h中先include一下,這樣,咱們只須要直接include這個stdafx.h文件便可.由於同一個項目中的不一樣源文件CPP都包含相同的include文件,這樣,爲每一個.CPP文件都重複include這些文件就顯得很傻了。固然若是你不用MFC的話就不用了。即:在每一個.cpp文件中都include stdafx.h 就至關於包含了其餘的如iostream.h等文件操作系統

4 與stdio.h的區別 咱們通常用TC或vc編譯C程序的時候都要首先包含這個stdio.h頭文件,這個頭文件裏面包含了scanf和printf函數的定義,若是咱們不在程序開頭include這個文件,那麼你調用上面這兩個函數就不會成功,它其實和c++中的iostream.h文件的做用差很少的,它們通常都已經在stdafx.h文件中被包含。開發

相關文章
相關標籤/搜索