⑴ 在多文件編程中編譯時出現錯誤:_main defined in mole EX.C is plicated in mole EX.C.應該怎樣改
在網上搜索了一下這個問題,經過我的實驗,問題原因在於,有一個.cpp源文件與.h頭文件同名了,在多個文件的項目.prj中,在Add Item中若添加了.h頭文件,則.prj項目中不能包括同名的.cpp源文件,修改.cpp源文件文件名後問題解決,可以順利編譯通過。
⑵ c語言 自定義頭文件只要一改動就編譯失敗
可能是你編譯器設置的問題,看看設置的預設目錄是否正確。另外當前目錄包含頭文件用雙引號不用尖括弧,
⑶ 我做的C語言程序為什麼不能編譯,生成文件打開還是源碼,一調試就說源文件未編譯
你是不是粘貼了網頁上的代碼,那個可能有很多符號的。還有保證在英文狀態下輸入啊。未編譯是肯定的啊,你都有語法錯誤啊。
⑷ c語言編程的程序為什麼無法運行,一直提示源文件未編譯
1、源文件必須先編譯生成可執行文件後才能運行。
2、對於Dev-C++,編譯和運行都可以在頂部的運行菜單內找到。先選擇」編譯「(快捷鍵Ctrl+F9),然後再選擇」運行「(快捷鍵Ctrl+F10);或者,直接選擇「編譯運行」(快捷鍵F9)將兩步合並操作。
⑸ C語言程序對,但是編譯不出來是怎麼回事
可能很多人在安裝VC 6.0後有過點擊「Compile」或者「Build」後被出現的
「Compiling... ,Error spawning cl.exe」錯誤提示給郁悶過。很多人的
選擇是重裝,實際上這個問題很多情況下是由於路徑設置的問題引起的,
「CL.exe」是VC使用真正的編譯器(編譯程序),其路徑在「VC根目錄\VC98\Bin」下面,
你可以到相應的路徑下找到這個應用程序。
因此問題可以按照以下方法解決:打開vc界面 點擊VC「TOOLS(工具)」—>「Option(選擇)」
—>「Directories(目錄)」重新設置「Excutable Fils、Include Files、
Library Files、Source Files」的路徑。很多情況可能就一個盤符的不同
(例如你的VC裝在C,但是這些路徑全部在D),改過來就OK了。
如果你是按照初始路徑安裝vc6.0的,路徑應為:
executatble files:
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
C:\Program Files\Microsoft Visual Studio\VC98\BIN
C:\Program Files\Microsoft Visual Studio\Common\TOOLS
C:\Program Files\Microsoft Visual Studio\Common\TOOLS\WINNT
include files:
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
library files:
C:\Program Files\Microsoft Visual Studio\VC98\LIB
C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB
source files:
C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRC
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC
如果你裝在其他盤里,則仿照其路徑變通就行(我就是裝在D盤)。
關鍵是microsoft visual studio\ 後面的東西要相同。
本人深受其害,重裝多次不管用,上面中文部分為高手借鑒,
參考:http://..com/link?url=Nc_6_-HpnNXII-iOVHEE_SURDrsp8pQgsuj_rwcO0zq
⑹ C語言對文件進行操作,編譯錯誤,請教怎麼回事
問題在找不到 windows.h。
編譯器是否安裝正確,系統環境變數是否設對了。
DOS 命令:
set INCLUDE
可以顯示頭文件路徑。
C 語言 不需要 #include "fstream.h"
C++ 語言 用 #include <fstream> (不帶 .h)
視窗操作系統 下才有 #include <windows.h>
如果你是視窗操作系統,編譯器里應當有windows.h,
如果是其它操作系統,你可以去掉這項。
⑺ 請教C語言多文件編譯鏈接出錯的問題error LNK2005
下面是原數組冒泡:
void bSort(int d[],int n) // 比交換法要少交換
{
int m;
for (int i=0;i<n-1;i++)
{
m=i; // j用來保存最小值的下標
for (int j=i+1;j<n;j++)
if (d[m]>d[j]) // d[j]就是最小值,
m=j; // j取代最小值的位置m
int t=d[i]; // 把最小值d[m]與 d[i]交換一下,讓最小值到前面去。
d[i]=d[m];
d[m]=t; // 交換
}
}
⑻ 為什麼我的c語言編輯器無法編譯了
看你新建的項目,名字也沒有,什麼也沒保存只是在軟體上敲了一大堆,保存一下再編譯
⑼ c語言中多個文件的編譯問題
第一個問題
請問,我是不是該這樣做:
在main.c中#include
在fun.c中同樣#include
(好像是必需的,請詳細解釋)
這是必需的。因為編譯器只是把包含文件的代碼復制過來,既然你二個文件中都用到頭文件的內容,那當然要包含頭文件,否則就會出錯。
我的觀點,如果這兩步都是必需的
那麼當有很多個比如10個.c程序每個里頭都要#include
那麼文件是不是會特別大,當有100個.c程序都要包含一下的話,那麼不是非常重復么?)
那當然是會重復的。不過這個對程序的運行效率沒任何影響,只是在編譯過程中對文件的分析時間會稍長些,這也是沒有辦法的事,全看代碼編寫者如何組織結構了。
第二個問題:
會的。解決的方法就是在可能被多次包含的頭文件中開頭加上#pragma
once,那樣就可以保證此頭文件代碼只被執行一次,而不會造成頭文件中函數多次重復定義至於引起這種情況的情況。當然你也可以自己用#ifdef等預編譯處理來解決。你問的問題不就是這種情況么?main.c和fun.c中都包含頭文件tou.h
第三個問題:
當我在main.c中這樣
#define
unchar
unsigned
char
那麼當我在fun.c中還需要重新創建替換宏unchar嗎
可以不在創建而直接使用嗎?
答案是需重新創建,不能直接使用。但你可以把一些在多個文件中使用的宏、全局變數等統一定義到一個頭文件中,那這樣就可以避免多次定義了。