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