2009-05-04 99 views
3

如何使用Dev C++編譯C源文件。我認爲它會自動做到這一點,但由於某種原因它編譯了幾個錯誤,我認爲它是因爲你必須修改它來編譯一個C文件。Dev C++編譯C源文件

實施例的測試代碼:

#include <stdio.h> 



main()   
{ int i,j; 
double x,x_plus_one(); 
char ch; 

i = 0; 
x = 0; 

printf (" %f", x_plus_one(x)); 
printf (" %f", x); 

j = resultof (i); 

printf (" %d",j); 
} 


double x_plus_one(x)   

double x; 

{ 
    x = x + 1; 
    return (x); 
} 


resultof (j)    

int j; 

{ 
    return (2*j + 3);  
} 
+1

什麼錯誤? – 2009-05-04 16:14:53

+1

什麼錯誤?該文件是否具有.c擴展名? – 2009-05-04 16:15:07

+0

它只是提供了基本的錯誤,如太多的參數,關閉基本的C語法 – TStamper 2009-05-04 16:15:27

回答

4

即預ANSI代碼。我不確定gcc編譯器是否支持它,並且在任何情況下使用它都是不好的做法。你的函數更改爲:

double x_plus_one(double x) { 
    x = x + 1; 
    return (x);  
} 

,你需要將它聲明爲:

double x_plus_one(double x); 

你也可以試試與- 傳統標誌進行編譯,但我沒有測試過這。

1

將main更改爲int main()。 Neil指出這一修改。

0

我認爲你試圖寫:

#include <stdio.h> 

double x_plus_one(double x); 
int resultof(int j); 


main()   
{ int i,j; 
double x;//,x_plus_one; 
char ch; 

i = 0; 
x = 0; 

printf (" %f", x_plus_one(x)); 
printf (" %f", x); 

j = resultof (i); 

printf (" %d",j); 
} 


double x_plus_one(double x) 

//double x; 

{ 
    x = x + 1; 
    return (x); 
} 


int resultof (int j)    

//int j; 

{ 
    return (2*j + 3);  
} 

另存爲的main.cpp和編制

g++.exe -D__DEBUG__ -c main.cpp -o main.o -I"C:/Program Files/CodeBlocks/MinGW/include" -g3 

g++.exe -D__DEBUG__ main.o -o Project1.exe -L"C:/Program Files/CodeBlocks/MinGW/lib" -static-libgcc -mwindows -g3 


Compilation results... 
-------- 
- Errors: 0 
- Warnings: 0 
- Output Filename: F:\My Folder\C++ projects\test01\Project1.exe 
- Output Size: 38.990234375 KiB 
- Compilation Time: 1.92s