→ tinlans:你新開的原始檔是 C 還是 C++,副檔名是什麼? 04/09 08:58
→ james732:建議附上錯誤訊息 04/09 12:24
我剛剛發現錯誤是因為存成.cpp 我以為他會預設成.c檔......
所以存成.c檔後就一樣可以編譯成功了
不過我現在問題變成 為啥不用打標頭檔阿?
像我可以只打出
main( )
{
printf("測試123測試123");
system("PAUSE");
return 0;
}
然後直接編譯 也可以執行
但是一般來講前面不是都要先打 #include <stdio.h>等等的東西嗎?
※ 編輯: sarsenwen 來自: 114.47.131.112 (04/09 13:33)
→ james732:常用的header file可能會由IDE自己加進來 04/09 14:09
→ james732:不過最好還是自己寫清楚 04/09 14:10
→ james732:在Linux底下用gcc也可以直接用printf而不用stdio 04/09 14:13
→ tinlans:有一種東西叫 built-in function,又叫 intrinsic。 04/10 02:25
→ tinlans:compiler 會在 front-end 裡就將那類函式呼叫展開成中間碼 04/10 02:25
→ tinlans:的形式,不會真正去 call 那個 symbol (function name), 04/10 02:26
→ tinlans:所以不需要特別去 link。就算不是這種類型,因為大部分 C 04/10 02:26
→ tinlans:compiler 預設就會去 link 標準 C 函式庫 (如 libc.so), 04/10 02:27
→ tinlans:所以還是有機會 link 成功,但是會警告你 type 不相容。 04/10 02:28
→ tinlans:推文很難講得面面俱到,懶得補漏洞了... 04/10 02:29