如何使用Visual Studio 2005或Visual Studio 2008編譯純C語言程序!!【圖文】

轉載自:http://hi.baidu.com/_%E2d_%B7%B3_%DE%B2%C2%D2/blog/item/5d4b7573c01ded198601b011

       誰說VS2005不能編譯純C程序?當然能,而且很簡單,和編譯C++差不多,所以具體的我就不多說了,首先請參考我這篇文章:

    http://hi.baidu.com/_%E2d_%B7%B3_%DE%B2%C2%D2/blog/item/ad0796110b1fa214b8127b5b.html

     其中有區別的就是這一步:

   


我們在這時候輸入的是main,那麼添加的文件就會使main.cpp

此時我們輸入PurC.c,注意,擴展名一定要輸入.c!!務必!!!!!

然後點添加,

我們添加這樣的一個簡單程序到文本編輯器中:

#include <stdio.h>

int main()
{
struct class
{
   char sname[10];
};
struct class a;
scanf("%s",a.sname );
printf("%s",a.sname );

return 0;
}

然後點編譯:

1>------ 已啓動生成: 項目: PurC, 配置: Debug Win32 ------
1>正在編譯...
1>Main.c
1>e:\documents\visual studio 2008\projects\purc\main.c(10) : warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>        d:\program files\microsoft visual studio 9.0\vc\include\stdio.h(306) : 參見“scanf”的聲明
1>正在鏈接...
1>正在嵌入清單...
1>生成日誌保存在“file://e:\Documents\Visual Studio 2008\Projects\PurC\Debug\BuildLog.htm”
1>PurC - 0 個錯誤,1 個警告
========== 生成: 成功 1 個,失敗 0 個,最新 0 個,跳過 0 個 ==========

一般情況下,我們可以忽略這個警告,特別是已經習慣了Turbo C或者VC6.0的人。

我們可以將這段代碼調整到main.cpp中看看。

1>------ 已啓動生成: 項目: baidu, 配置: Debug Win32 ------
1>正在編譯...
1>main.cpp
1>e:\documents\visual studio 2008\projects\baidu\main.cpp(5) : error C2332: “struct”: 缺少標記名
1>e:\documents\visual studio 2008\projects\baidu\main.cpp(6) : error C2236: 意外的“class”“main::<unnamed-tag>”。是否忘記了“;”?
1>e:\documents\visual studio 2008\projects\baidu\main.cpp(6) : error C3381: “main::<unnamed-tag>”: 只有在用 /clr 選項編譯的代碼中才有程序集訪問說明符
1>e:\documents\visual studio 2008\projects\baidu\main.cpp(8) : warning C4094: 無標記的“class”未聲明符號
1>e:\documents\visual studio 2008\projects\baidu\main.cpp(9) : error C2332: “struct”: 缺少標記名
1>e:\documents\visual studio 2008\projects\baidu\main.cpp(9) : warning C4099: “main::<unnamed-tag>”: 類型名稱以前使用“class”現在使用的是“struct”
1>        e:\documents\visual studio 2008\projects\baidu\main.cpp(6) : 參見“main::<unnamed-tag>”的聲明
1>e:\documents\visual studio 2008\projects\baidu\main.cpp(9) : error C2236: 意外的“class”“main::a”。是否忘記了“;”?
1>e:\documents\visual studio 2008\projects\baidu\main.cpp(10) : warning C4832: 標記“.”在 UDT“main::a”之後是非法的
1>        e:\documents\visual studio 2008\projects\baidu\main.cpp(9) : 參見“main::a”的聲明
1>e:\documents\visual studio 2008\projects\baidu\main.cpp(10) : error C2027: 使用了未定義類型“main::a”
1>        e:\documents\visual studio 2008\projects\baidu\main.cpp(9) : 參見“main::a”的聲明
1>e:\documents\visual studio 2008\projects\baidu\main.cpp(10) : error C2228: “.sname”的左邊必須有類/結構/聯合
1>e:\documents\visual studio 2008\projects\baidu\main.cpp(11) : warning C4832: 標記“.”在 UDT“main::a”之後是非法的
1>        e:\documents\visual studio 2008\projects\baidu\main.cpp(9) : 參見“main::a”的聲明
1>e:\documents\visual studio 2008\projects\baidu\main.cpp(11) : error C2027: 使用了未定義類型“main::a”
1>        e:\documents\visual studio 2008\projects\baidu\main.cpp(9) : 參見“main::a”的聲明
1>e:\documents\visual studio 2008\projects\baidu\main.cpp(11) : error C2228: “.sname”的左邊必須有類/結構/聯合
1>生成日誌保存在“file://e:\Documents\Visual Studio 2008\Projects\baidu\Debug\BuildLog.htm”
1>baidu - 9 個錯誤,4 個警告
========== 生成: 成功 0 個,失敗 1 個,最新 0 個,跳過 0 個 ==========

可以看到,發生了錯誤!

因爲此時默認調用了c++的編譯器,而當擴展名是.C的文件時,默認調用了C的編譯器

好了,今天就這樣了。!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章