纯C写Windows程序系列---------VS2010设置纯C环境 .
目錄(?)[+]
0 由來(lái)
最近看了《C語(yǔ)言也能干大事》的視頻教學(xué),又激發(fā)起了寫純C程序的興趣。視頻中的開(kāi)發(fā)環(huán)境是Visual C++6.0,還有一個(gè)版本是CFree,而這些開(kāi)發(fā)環(huán)境不是過(guò)于陳舊就是非主流,所以打算在Visual Studio 2010上開(kāi)始我的純C之旅。
?
目前軟件開(kāi)發(fā)分工已經(jīng)非常細(xì)化了,各個(gè)領(lǐng)域的開(kāi)發(fā)語(yǔ)言很專一,不可能用一種語(yǔ)言開(kāi)發(fā)所有領(lǐng)域的軟件,即使勉強(qiáng)能這樣做,那么效率也相當(dāng)?shù)紫隆1救苏J(rèn)為目前的語(yǔ)言分工如下:
(1)大中型B/S程序,前端是javascript,后端是.net 或 java,php。
(2)控制型B/S程序,如各種嵌入式設(shè)備的操作界面,前端也是javascript,后端為php,perl,以及純C。
(3)Window桌面程序,C++ + MFC類庫(kù),或者.net。目前看來(lái)MFC前景不妙,使用上遠(yuǎn)沒(méi)有.net 類庫(kù)方便干凈。
(4)操作系統(tǒng)驅(qū)動(dòng)程序以及功能模塊,嵌入式系統(tǒng)底層開(kāi)發(fā),匯編語(yǔ)言以及純C。
(5)病毒木馬以及反黑程序,一般為純C或者C++程序。
個(gè)人感覺(jué),如果不是做嵌入式或者系統(tǒng)底層開(kāi)發(fā),純C在職業(yè)要求上需要不多了,對(duì)于上層開(kāi)發(fā)人員,學(xué)習(xí)純C的目的在于:
(1)純C帶來(lái)的“純”感覺(jué),簡(jiǎn)單正統(tǒng)的感覺(jué);
(2)純C的環(huán)境,對(duì)于理解各個(gè)OS的內(nèi)部原理至關(guān)重要,對(duì)于Windows,各種類庫(kù)把Windows API封裝的太深了,更多的語(yǔ)言特性遮蓋住了Windows系統(tǒng)內(nèi)在的最本質(zhì)的東西;
?
1 基本步驟
?
(1)新建項(xiàng)目,選擇Visual C++----Win32---Win32項(xiàng)目。
(2)此時(shí)生成的源文件目錄下有兩個(gè).cpp文件,將它們改名為.c文件。
(3)右鍵項(xiàng)目名---屬性---配置屬性----C/C++----高級(jí)---編譯為:“編譯為C代碼"。
?
此時(shí)編譯程序會(huì)報(bào)錯(cuò):
錯(cuò)誤?2?error C2275: “HACCEL”: 將此類型用作表達(dá)式非法?
?
出錯(cuò)代碼為:
?
?UNREFERENCED_PARAMETER(hPrevInstance);
?UNREFERENCED_PARAMETER(lpCmdLine);
?MSG msg;
?HACCEL hAccelTable;
?
把后兩行移動(dòng)到前面即可,修改后如下:
?
MSG msg;
HACCEL hAccelTable;
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
?
2 注意事項(xiàng)
從C++到C要注意幾個(gè)區(qū)別
(1)C中變量定義必須位于代碼塊開(kāi)頭,這就是為什么上面講到的報(bào)錯(cuò)的原因;C++只要求變量在使用前聲明即可,不必放到最前面。
(2)C中結(jié)構(gòu)體變量定義,不能省略struct關(guān)鍵字,如
struct MyStruct
{
?????? int x;
}
?
MyStruct a;
?
上述代碼在C++中編譯正常,而在C中無(wú)法編譯通過(guò),必須修改為
?
struct MyStruct a;
總結(jié)
以上是生活随笔為你收集整理的纯C写Windows程序系列---------VS2010设置纯C环境 .的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java 枚举7常见种用法
- 下一篇: windows gtk+ 开发环境搭建