[問題] 如何將兩個file一起compiler

看板Programming作者 (輕鬆學)時間15年前 (2008/12/10 01:40), 編輯推噓0(007)
留言7則, 5人參與, 最新討論串1/1
※ [本文轉錄自 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

12/10 00:39,
放心好了
12/10 00:39

12/10 00:39,
你不改變數名,就算separate compiling成功也照錯不誤
12/10 00:39

12/10 00:43,
為甚麼可以又宣告extern y 祐宣告static y?
12/10 00:43

12/10 00:53,
extern y 是使用main.c中的y,static y 是在fun.c中宣告
12/10 00:53

12/10 00:54,
並使用y。這個程式是可以正常跑的,只是忘了要怎麼設定~
12/10 00:54

12/10 00:55,
請各位多提供意見給小弟...
12/10 00:55
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.127.21.174

12/10 01:55, , 1F
#include"fun.c"加這行在main.c的話
12/10 01:55, 1F

12/10 01:56, , 2F
結果跟把fun.c內容複製到main.c是差不多
12/10 01:56, 2F

12/10 01:56, , 3F
所以這樣y當然是重複宣告啊
12/10 01:56, 3F

12/10 07:38, , 4F
分開compile然後link在一起就好了 不要includ
12/10 07:38, 4F

12/10 12:17, , 5F
請問要如何link起來,用專案的方式嗎???
12/10 12:17, 5F

12/12 19:50, , 6F
囧 GUI真是害人不淺...
12/12 19:50, 6F

12/14 14:06, , 7F
建議原 po 先練習用 command line 編程式
12/14 14:06, 7F
文章代碼(AID): #19Fgsemo (Programming)