看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《QQ29 (我愛阿蓉)》之銘言:   先釐清一些基本概念。無論是用C++配上Win32 API或者是MFC寫出來的應用程式都是 native,它直接在OS上運作。C#則不同,它是微軟專為 .Net Framework設計的語言,寫 出來的程式為managed,運作在 .Net Framework提供的Virtual Machine上。簡單來說, 跟前者不同的是應用程式與OS之間多了一層被稱為middleware的Virtual Machine,兩者 是有很大的不同的。   如果想對這方面更進一步了解,建議你可參考一下Java的運作模式。.Net Framework 與它有許多相似之處,而且Java的執行環境相較於 .Net Framework顯得單純許多。 : 其實我不太知道標題怎麼下... : 是這樣的 : 常常google win32的api最後都跑道msdn 然後整面好像都是C#的function..   前面有提到了,C#是微軟專為 .Net Framework設計的語言,所以你在MSDN上所找到 的那些跟C#有關的function、class或其他玩意兒都是由 .Net Framework所提供的。    : 因為我只會基本的C++ 和一點點的win32 基本概念 : 我有滿肚子奇怪的疑惑就是 : 我想win32 API這是for C++ 還是說他只是一個概念   嚴格說起來Win32 API不是概念,是微軟對於Windows核心可用的一系列API的統稱。 最初它確實是設計給C/C++呼叫用的。 : 我想表達的是 例如win32有api 給我們用eclipse畫出橢圓 : 那我相信C#也有可以畫出橢圓的函式    確實是有的,可是就如同前面所述,它是由 .Net Framework提供的method,跟Win32 Api有很大的不同。   嚴格說起來,C#只是一種語言,你的這個問題其實是在問.Net Framework有沒有提供 繪製橢圓的function。 : 那這兩個函式我們都稱作win32 API嗎?   當然不是,前面已提過了。 : 那這兩個函式的底層是否有共通點 : 意思是說~~ for C++ win32 API的樣子可能是 void Eclipse(...) : for C#可能是 public void XXXEclipse之類的 : 他們會是一個殼子 其實裏面兩個都呼叫同一個 " 東西 "?? : 如果是~~~這個"東西" 是以什麼形式存在.....dll? lib?還是exe.... : 因為我只知道c++有dll 如果c#也存在dll的話   .Net Framework也是由許多DLL所組成的,稱呼為「組件」,不過就如同前面所提到 的應用程式一般, .Net Framework的DLL本質上也是managed,跟一般Win32 API或MFC所 撰寫的native DLL不同。 : 是否可以在C# 或是 C++ 呼叫對方寫的dll或是其他東西   .Net Framework確實有提供一套門路可以讓C#連結到native的DLL。 : 這有牽扯到C# @@ 不過想說版友應該都有接觸過 想請教這些概念性的問題 : 謝謝.. : 我對win32 API真是不太了解他的涵義   每日一Google,有益身體健康。:) -- 「我從來都不喜歡 MFC,從一開始就不喜歡,我認為它的設計不良, 且幾乎不能算是物件導向。」 - Charles Petzold http://reassert.blogspot.com -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.41.81 ※ 編輯: remmurds 來自: 219.87.77.101 (01/28 09:36)
spider391:講解的簡單明瞭 (讚) 名片檔也推一下 01/28 09:54
VictorTom:推一下:) 01/28 10:05
creeds:真是釐清我不少觀念、推專業的回答 01/28 14:00
ianfang:很清楚 推!! 01/28 18:05