運行平台:1、CLR 是.net的運行引擎,也是.net的核心,使用CIL JIT 2、Win32 直接運行 產生可執行檔
Visual Studio 提供選擇 選擇庫 和平台, 1、MFC/API (C/C++編譯器內建C++標準庫 2、ATL 3、 字元集 4 、公用語言支援(平台選擇)
(可選平台語言)
Visual C++ 偏向於調用win32但也可以使用CLR 有了 C++/CLR
(只能net平台)
VisualBasic 已整合到CLR上 可使用.net和 win32
C# 依賴於.net同時可以在裡面使用win32整合net庫
Visual Studio 有java C++ Basic C# 到CIL的解析器,同時有C++ Basic 到可執行程式的編譯器 F#等別的編譯器。
C#是為.net架構而建立的一程語言。.net為了實現 手機等各個平台共應用而設計 。
C++ 中引用.net類庫
NET中的類型分為兩類:值和引用,值對象是可以儲存在棧上的,參考型別的對象是儲存在託管堆上的。
利用託管C++,也能享受託管啟動並執行幾個良好機制。
先瞭解幾個符號:
^ : 託管堆對象的引用
% : 託管對象引用解引用的參考型別(類似&) 這個比較複雜,看下面例子(1):
ref : 定義引用型類
val : 定義值型類
gcnew: 在託管堆上建立對象(這裡不使用舊的文法規則__gc)
例(1):
void f(Class1% c){
c.show();
}
int _tmain(int argc, _TCHAR* argv[])
{
Class1^ c1 = gcnew Class1();
f(*c1);
return 0;
}
//運行環境:CLR
struct S //C++實值型別
{
int i;
};
value struct ValS //實值型別
{
int i;
};
ref struct RefS //參考型別
{
int i;
};
void TestProc1()
{
S s;
s.i = 10;
S *ps = new S();
ps->i = 20;
// S ^gcs = gcnew S(); //error 因為S是C++實值型別,不能在託管堆建立
// gcs->i = 30;
// S^ %rgcs = gcs;
// rgcs->i = 40;
System::Console::WriteLine(s.i);
System::Console::WriteLine(ps->i);
}
void TestProc2()
{
ValS s;
s.i = 10;
ValS *ps = new ValS();
ps->i = 20;
ValS ^gcs = gcnew ValS(); //可以在託管堆建立
gcs->i = 30;
ValS^ %rgcs = gcs; //注意這個文法,對託管堆的引用的引用使用'%'(託管引用),而不能使用'&'(非託管引用)
rgcs->i = 40;
System::Console::WriteLine(s.i);
System::Console::WriteLine(ps->i);
}
void TestProc3()
{
RefS s;
s.i = 10;
//RefS *ps = new RefS(); //error,只能在託管堆建立
//ps->i = 20;
RefS ^gcs = gcnew RefS(); //在託管堆建立
gcs->i = 30;
RefS^ %rgcs = gcs; //注意這個文法,對託管堆的引用的引用使用'%'(託管引用),而不能使用'&'(非託管引用)
rgcs->i = 40;
System::Console::WriteLine(s.i);
//System::Console::WriteLine(ps->i);
}
Visual Basic 版本
2002年開始, 微軟將 .NET Framework與 Visual Basic 結合而成為 Visual Basic .NET (vb .net),重新打造 VB,新增許多特性及文法,又將 VB 推向一個新的高度。最新版本 Visual Basic 2012 也將帶來許多令人期待的新功能。 通過幾年的發展,它已成為一種專業化的開發語言和環境。使用者可用Visual Basic 快速建立 Windows程式,並可編寫企業水平的 用戶端/ 伺服器程式及強大的 資料庫應用程式。
Visual Basic 各版本介面 (8張)
Visual Basic 發展史簡
發布日期 |
名稱 |
說明 |
.NET Framework 引入之前 |
1991-04 |
Visual Basic 1.0 Windows 版本 |
|
1992-09 |
Visual Basic 1.0 DOS 版本 |
|
1992-11 |
Visual Basic 2.0 |
對於上一個版本的介面和速度都有所改善。 |
1993-06 |
Visual Basic 3.0 |
包含一個資料引擎,可以直接讀取 Access 資料庫。 |
1995-08 |
Visual Basic 4.0 |
發布了32位和16位的版本。其中包含了對類的支援。 |
1997-02 |
Visual Basic 5.0 |
包含了對使用者自建控制項的支援,且從這個版本開始 VB 可以支援中文。 |
1998-10 |
Visual Basic 6.0 |
|
.NET Framework 引入之後 |
2002-02 |
Visual Basic .NET 2002 (7.0) |
由於其使用了新的核心和特性,所以很多 VB 的程式員都要改寫程式。 |
2003-04 |
Visual Basic .NET 2003 (7.1) |
主要改進了健全狀態,提升了 IDE 以及運行時穩定性。 |
2005-11 |
Visual Basic 2005 (8.0) |
是 vb .net 的重大轉變,微軟決意在其名稱中去掉了".NET"部份。VB2005 提供 My 偽命名空間、泛型、操作符重載,等新語言特性。 |
2007-11 |
Visual Basic 2008 (9.0) |
提供支援 IIF 函數、匿名類、LINQ、Lambda 運算式、XML 資料結構,等新語言特性。 |
2008-03 |
微軟宣布結束對於 VB 6.0 的延長支援。 |
2010-04 |
Visual Studio 2010 (10.0) |
提供支援 Dynamic Language Runtime (DLR)、自動實現屬性、集合初始化、不需要在代碼斷行書寫時輸入底線“_”,等新語言特性。 |
2012-05 |
Visual Studio 2012 (11.0) RC |
提供支援更簡易的非同步編程(Asynchronous Programming)、Iterator、擴充 Global 關鍵詞,等新語言特性。 |