看板 Programming 關於我們 聯絡資訊
※ [本文轉錄自 C_and_CPP 看板] 作者: JASONFUNG (輕鬆學) 站內: C_and_CPP 標題: [問題] 如何將兩個file一起compiler 時間: Wed Dec 10 00:22:50 2008 請問各位高手~ 我希望在compiler的時候,同時compiler兩個檔案 程式如下: <1>main.c #include <stdio.h> void fun1( ) ; void fun2( ) ; int x = 15 , y = 15 ; main( ) { x++ ; y++ ; printf( " %d %d \n ", x , y ); fun2( ) ; fun1( ) ; x++ ; y++ ; printf( " %d %d ", x , y ) ; } <2>fun.c #include <stdio.h> extern int x; void fun1() { extern int y; x++; y++; printf("%d\t%d\n", x, y); } static int y=0; void fun2() { int x=0; x++; y++; printf("%d\t%d\n", x, y); } -------------------------------------------------------------- 因為兩個程式的變數都只有 x與y 若在main.c中加入底下這一行程式並compiler #include"fun.c" <== 當compiler時會有錯誤訊息(重複宣告y的訊息) 因為程式碼就是這樣,請別告訴我換變數名稱!! 小弟不知道如何在這程式碼上正確執行 若各位知道方法,請提供給小弟 EX:如何設定編譯環境、加程式碼... 請各位大大協助小弟能正確compiler並執行... 感激各位~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.127.21.174
MOONRAKER:放心好了 12/10 00:39
MOONRAKER:你不改變數名,就算separate compiling成功也照錯不誤 12/10 00:39
BlueKidds:為甚麼可以又宣告extern y 祐宣告static y? 12/10 00:43
JASONFUNG:extern y 是使用main.c中的y,static y 是在fun.c中宣告 12/10 00:53
JASONFUNG:並使用y。這個程式是可以正常跑的,只是忘了要怎麼設定~ 12/10 00:54
JASONFUNG:請各位多提供意見給小弟... 12/10 00:55
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.127.21.174
Lighdark:#include"fun.c"加這行在main.c的話 114.46.34.201 12/10 01:55
Lighdark:結果跟把fun.c內容複製到main.c是差不多 114.46.34.201 12/10 01:56
Lighdark:所以這樣y當然是重複宣告啊 114.46.34.201 12/10 01:56
somi:分開compile然後link在一起就好了 不要includ 132.239.55.127 12/10 07:38
JASONFUNG:請問要如何link起來,用專案的方式嗎???140.123.107.116 12/10 12:17
teslare:囧 GUI真是害人不淺... 59.124.5.232 12/12 19:50
tinlans:建議原 po 先練習用 command line 編程式 118.160.105.67 12/14 14:06