請問各位大哥大姐 在linux上 ubuntu 的C問題 [論壇 - Ubuntu 養蟲箱 - bug share]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊

(1) 2 »


byonk
請問各位大哥大姐 在linux上 ubuntu 的C問題
Anon:byonk
請問 各位大哥大姐

小弟我正在學C是在 最新的ubuntu 7.04 linux上寫的 可是有個問題

可是就我在寫完 source code 後有 跑出 hi.c 的file

可是要把它 用做object code file 可是問題來了

就是 當我打入 gcc hi.c 時發生了這個問題

hi.c: 在函式 「main」 中:
hi.c:3: 警告: 隱含宣告與內建函式 「printf」 不相容
/usr/bin/ld: crt1.o: No such file: No such file or directory
collect2: ld 回傳 1

這是書中的source code
---------------------------------------------
main(void)
{
printf("hi! C!\n");
}

----------------------------------------
可是我以前打這樣是行的阿
以前是在 ubuntu 6.06 linux 上打的可以阿
為什魔現在不行了呢

正要學下去 可是卡在這裡

2007/6/20 11:05 | dbe1e 7cae2 4e383 df288
應用擴展 工具箱
回復: 請問各位大哥大姐 在linux上 ubuntu 的C問題
版主
註冊日期:
2006/12/24 16:54
所屬群組:
網站管理員
已註冊使用者
等級: 33
HP : 0 / 816
MP : 524 / 40002
EXP: 67
離線
這個好像要發在程式設計版

1.compiler的指令問題
你應該是要下
gcc -c hi.c
gcc hi.o -o hi
才對
2.source code問題
main就算沒有回傳值也該宣告回傳值為void
所以該改為
int main()
{
printf( "hi! C!\n" );

return 0;
}

沒啥....只是有點看不慣而己= =

2007/6/20 12:43
就算你百分之一百認定某人是渣滓中的渣滓,請仍然展示你的冷靜、體諒、尊重。

* My Blog
* My Twitter <- follow me!
* My Plurk
FoolproofProject:
* KomiX latest stable: v0.1.0 (Comics Viewer)
* Khopper latest stable: v0.4.2 (Audio Converter with CUE Sheet Support)
* PicKing latest stable: v0.2.3 (File Picking)
應用擴展 工具箱
訪客
回復: 請問各位大哥大姐 在linux上 ubuntu 的C問題
Anon:訪客
這可以算是經典的問題了...
請參考這篇文章 :
http://ubuntuforums.org/archive/index.php/t-7527.html

sudo apt-get install build-essential

相信你的問題會迎刃而解的.

2007/6/20 15:40 | 78e72 74754 bf336 94b23
應用擴展 工具箱
回復: 請問各位大哥大姐 在linux上 ubuntu 的C問題
會員一級
註冊日期:
2006/8/5 22:12
所屬群組:
已註冊使用者
等級: 3
HP : 0 / 60
MP : 7 / 3029
EXP: 41
離線
問題 是有好一點了
可是

為什麽
打入 gcc hi.c 會跑出這個
---------------------

hi.c: 在函式 「main」 中:
hi.c:3: 警告: 隱含宣告與內建函式 「printf」 不相容

東西是有跑出 a.out
-----------------------
如果是打入 gcc -c hi.c 還是會跑出
------------------------------------
hi.c: 在函式 「main」 中:
hi.c:3: 警告: 隱含宣告與內建函式 「printf」 不相容

東西 是跑 hi.o
後面在打入 gcc hi.o -o hi
就會跑出這個 hi file
------------------------------
為什魔 都會跑出

hi.c: 在函式 「main」 中:
hi.c:3: 警告: 隱含宣告與內建函式 「printf」 不相容

東西 是都有跑出來啦 可是 就不知道 為什魔 都跑出這個呢


沒錯阿 我是在 程式設計版 發新文章阿~ ~



先謝謝了 真的

可以先 這樣下去了

2007/6/21 12:38
應用擴展 工具箱
回復: 請問各位大哥大姐 在linux上 ubuntu 的C問題
版主
註冊日期:
2006/12/24 16:54
所屬群組:
網站管理員
已註冊使用者
等級: 33
HP : 0 / 816
MP : 524 / 40002
EXP: 67
離線
你的
#include <stdio.h>

在哪裡?

這個BUG版應該是要討論Ubuntu本身的BUG(沒誤會的話)
不是要發在"Ubuntu程式設計"版嗎?

2007/6/21 12:43
應用擴展 工具箱
回復: 請問各位大哥大姐 在linux上 ubuntu 的C問題
會員一級
註冊日期:
2006/8/5 22:12
所屬群組:
已註冊使用者
等級: 3
HP : 0 / 60
MP : 7 / 3029
EXP: 41
離線
阿 要加那一行喔~ ~

沒有了呢 真的很謝謝你
因為書中 沒寫到 ~ ~
--------------------------------
我想是我發錯地方了

對不起

那可以改嗎

2007/6/21 12:52
應用擴展 工具箱
回復: 請問各位大哥大姐 在linux上 ubuntu 的C問題
版主
註冊日期:
2006/12/24 16:54
所屬群組:
網站管理員
已註冊使用者
等級: 33
HP : 0 / 816
MP : 524 / 40002
EXP: 67
離線
include在C裡面很重要
用到相應的程式請不要忘記include相應的header檔

還有,main就算不回傳值也請把它宣告成void main()
風格上較易閱讀

至於移版....交給管理員吧(煙)

2007/6/21 13:00
應用擴展 工具箱
回復: 請問各位大哥大姐 在linux上 ubuntu 的C問題
會員一級
註冊日期:
2006/8/5 22:12
所屬群組:
已註冊使用者
等級: 3
HP : 0 / 60
MP : 7 / 3029
EXP: 41
離線
真的很謝謝你

很好 開始
在去和 C 玩命去

2007/6/21 13:13
應用擴展 工具箱
回復: 請問各位大哥大姐 在linux上 ubuntu 的C問題
會員二級
註冊日期:
2007/6/23 4:49
所屬群組:
已註冊使用者
等級: 4
HP : 0 / 98
MP : 12 / 4683
EXP: 94
離線
按照標準用法,void main() 是有問題的。

我是在使用了 gcc 編譯之後,才注意到這個問題...

2007/7/31 13:50
應用擴展 工具箱
回復: 請問各位大哥大姐 在linux上 ubuntu 的C問題
版主
註冊日期:
2006/12/24 16:54
所屬群組:
網站管理員
已註冊使用者
等級: 33
HP : 0 / 816
MP : 524 / 40002
EXP: 67
離線
基本上C99只承認兩種main的定義
一為
int main(void)
一為
int main( int argc, char *argv[] )
總之一定要回傳值就對了
但是詭異的是
main()
這種定義法gcc會過
難道這也是標準?

不過Borland的Turbo C似乎承認
void main()

2007/7/31 14:17
就算你百分之一百認定某人是渣滓中的渣滓,請仍然展示你的冷靜、體諒、尊重。

* My Blog
* My Twitter <- follow me!
* My Plurk
FoolproofProject:
* KomiX latest stable: v0.1.0 (Comics Viewer)
* Khopper latest stable: v0.4.2 (Audio Converter with CUE Sheet Support)
* PicKing latest stable: v0.2.3 (File Picking)
應用擴展 工具箱

(1) 2 »

 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.