作者tropical72 (藍影)
看板C_and_CPP
標題Re: [問題] VS2010新增專案的眾多選項
時間Tue Jan 10 22:27:30 2012
還是拋磚引玉,回個文好了。
(真的只是拋磚引玉)
※ 引述《hirabbitt (兔子)》之銘言:
: 開發平台(Platform): VC++
: 問題(Question):新增專案有好多選項不知道怎麼選
你該補充的另一個問題是,目前會 C ? 會 C++ ? 大致到哪種程度 ?
( 程度最直接的判別,就是簡列曾寫過最大的一、二個專案與使用技巧)
: 補充說明(Supplement):因為之前都用DevC++,所以完全不知道這麼多選項是幹麻用的,
其實 Visual C++ 的選項,我在想真的有人所有選項都有用過嗎?
Visual C++ 2010 我也只摸一半左右的選項,
而且大多數情況真的就是推文說的 "空專案"
(大多情況我都寫小的測試碼 或 用命令列做編譯),
但空專案對要寫視窗而言可能會是苦手。
: 以我的需求來說,我想要有視窗(是CLR下的WindowsForm嗎?),但因為也會用到DirectX,
Microsoft Visual Studio 可以寫視窗的非常多,
C++ 類 : MFC、Win32、CLR
其他程式語言 : VB, C#, J#, F#, Java
我蠻建議你先確定是不是一定要用 C/C++ 程式語言開發,
( 目前看到 DirectX + winsock , 應無大礙 )
某些問題、某些領域,挑用其他程式語言可能會便捷些,
( 像經典的 excel 自動化問題就很不建議用 Win32 / MFC )
而某些程式語言在引入 library (如 DirectX) 時會很不方便,
程式語言本身速度上差異便不贅述,
(有名的例子是 VB 和 C 跑空回圈所需時間差 2~5 倍不等,其中 C 不開 O2)
很多可以寫視窗但在 Windows 而言
應是都基於 Win32,
(會有
應是因,我對 .net, CLR 運作機制沒深入研究)
Win32 API 只要有 C language 或 C++ 的基礎就可以去刻了,
但用 Win32 刻視窗真的很麻煩,要學的東西多到爆,
目前實務上真正單純用 Win32 刻視窗的我都懷疑還存不存在。
也由於 Win32 本身龐大,所以通常很少人會單純用 Win32 去刻視窗,
有一票強悍的工程師,為 Win32 常用 API,以物件導向方式包好了 library,
這也是一般在開發視窗程式的一種選擇,不會單純以 Win32 API 硬砍,
而是選用別人包好的 library 下去延伸,做繼承與調用。
而目前包好的 library, 最有名的就是你手上的 Visual C++,
它包了一套 MFC 類別,強悍的地方在於它的 IDE 做得很人性化,
很多時候只要點一點選項,大部份的程式碼都幫你生成好,只需要放進核心碼就好,
如果從頭到尾都要自己刻的話,這費時會非常久。
Visual C++ 是付費的,另一套比較有名付費的應就是 Borland C++ Build (BCB),
它的 IDE 也是做得和 Visual C++ 蠻像的,點一點選項會自動產生很多程式碼,
只要放進核心碼,這套和 Delphi 有些淵源,不贅述。
推文中有提到精華區有其他 library,在
z(進入精華區) -> 5. ◆ C/C++ 特定平台程式開發
-> 1. ◆ 特定GUI套件
裡面提的有些是免費的 library,別人包好的 Win32 物件,
既是免費的 library, 當然還是有不少地方需要用人工下去做,
有沒有免費,IDE + library 的軟體 (點一點選項就產生程式碼的),
這點我倒沒再研究。
題外補一下,Win32++ 我覺得是另一套不錯的 library,API class 封裝的蠻好的。
沒 mfc 那麼肥,但該有的東西大致上都有了,
要走 free developer , 這套可能會是我的首選。
: 所以這視窗也可以用DirectX開就好,然後就是需要網路連線的功能(我想這應該不影響專
是我見識淺薄了嗎? DirectX 是套 library,
我不知道它有提供 CreateWindow、ShowWindow 之類的函式。
從問題的敘述看來,推斷可能還有一大段路要走。
DirectX library 介紹調用,每本書都蠻厚的,工作或學術的話,
可能會有專門的用書,建議直接上網再找過。
私人學習我是用直接看這本:
C++ -Game Programming RPGs With DirectX,
( 其實只看 50 % 左右而已,還只是皮毛 )
缺點是重頭到尾都用 Win32 API,沒學過 Win32 程度的話可能不適合。
: ∩∩
: 案選項?),請問我應該選哪個選項來進行開發才好?感謝m(..)m
我的結論是:如果是 team work, 跟隨團隊總是對的;
如果不是 team work, 首要之務是判斷哪套 程式語言、IDE、library 才是你的首選,
前面講了很多,但為避開筆戰一些私人的觀感就沒再放進去,
其他 domain know how 我便幫不了你。
--
世界上有種,
將 不可能 轉換為 無限可能 的強大力量,
我稱它為 - 信念。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.177.69.239
→ meconin:未看先推 01/10 22:32
推 james732:有看有推 01/10 22:33
推 ericinttu:他是爆爆兔作者 01/10 22:47
→ loveme00835:爆爆兔@@? 01/10 23:07
→ tropical72:hirabbitt 是 爆爆兔作者? 01/10 23:19
推 hirabbitt:嗯啊XD 就是用FLASH做炸彈超兔 是做好玩的 01/10 23:31
→ hirabbitt:而現在這款網路遊戲原本是在VB開發的 但是VB雖然視窗與 01/10 23:32
→ hirabbitt:繪圖部份很方便 但是沒有LINKEDLIST而沒指標的陣列又沒 01/10 23:32
→ hirabbitt:啥用 好像也沒有CLASS(不然就是我不會= =) 所以想回C++ 01/10 23:33
→ james732:C#會不會比較適合你? 01/10 23:34
→ hirabbitt:看看 另一方面是覺得在遊戲界會VB沒有會C++來的有優勢? 01/10 23:34
→ hirabbitt:考慮到履歷表上的資料我還是想把C++學得更身入好了@@ 01/10 23:35
→ james732:C++是無底洞喔...學了六七年我還是覺得自己不會 XD 01/10 23:35
→ james732:(這樣嚇人是不是不太好) 01/10 23:35
→ tropical72:Orz.. 你拿你的作品去應徵應該很多人想要吧.. 我拿 GM8 01/10 23:35
→ tropical72:的 src code 很多人連看都不想看.. 01/10 23:35
→ james732:樓上是GM8的作者? (驚) 01/10 23:36
→ hirabbitt:我超想學GM耶=口= 用那個可以很快速的傳達遊戲概念 01/10 23:37
推 x000032001:驚 01/10 23:37
推 hirabbitt:無底洞喔..我懷疑到底有哪個語言是學得完的XDDD 01/10 23:39
→ james732:其實大都不需要學完吧,還是要看你學來做什麼 01/10 23:41
→ hirabbitt:對啊 用不到的 學了沒幾天還不是忘光光 01/10 23:45
→ hirabbitt:常用的 你不想背還忘不掉咧XDDD 01/10 23:46
→ tropical72:我不是,只是把 free gm8 的核心code寫一份當面試 demo. 01/10 23:48
→ james732:聽起來還是很厲害 01/10 23:51
推 hirabbitt:C#是不是多一層.NET Framework? 繪圖速度會有差嗎? 01/10 23:52
→ hirabbitt:我放棄VB的另一個原因是繪圖太多時會閃爍 01/10 23:52
→ james732:閃爍?有使用double buffer嗎? 01/10 23:53
→ tropical72:我覺得背c++ stl,boost,win32 api,不如背 劍橋字典.. 01/10 23:56
→ tropical72:閃爍應是沒用double buffer,任何程式語言都會有的現象. 01/10 23:56
推 ericinttu:結果聊一聊 又回去用VB了 (回頭的誤) 01/10 23:58
→ james732:VB如果是VB.NET的話應該不錯 微軟還很用心在推 01/11 00:03
→ hirabbitt:我還在用VB6.0 從6年前就沒什麼進步(掩面 01/11 00:04
→ hirabbitt:阿哈 double buffer的概念我知道 但是關鍵字和確切方法 01/11 00:05
→ hirabbitt:不知道 所以GOOGLE半天GOO不出結果來 就放著讓它閃了= = 01/11 00:06
→ hirabbitt:但由於要linkedlist我應該不可能再回去用vb6的... 01/11 00:06
推 ericinttu:其實你可以先條列出你想要做出的功能或者你希望該IDE可 01/11 00:13
→ ericinttu:以提供什麼功能,再評估每一項自己需要多久去做出這項功 01/11 00:14
→ ericinttu:能,以及手邊擁有的參考資源量. 來做一個綜合評估. 01/11 00:15
推 hirabbitt:「連結的清單」...XDDD 01/11 00:23
推 WJAider:有幫助,多謝 01/11 01:55
→ diabloevagto:好像滿多人都推薦C# 01/11 10:31
推 lc85301:C# 跟C++已經出現黃金交叉了,但要幹掉C(遠目) 01/11 15:30
→ lc85301:上面是tiobe的抽樣結果 01/11 15:31