Kanru’s 探險日誌

這裡應該會放一些我每日遊覽的站台及一些心得,就當作是我的學習筆記吧^^。

Archive for the ‘gcc’ tag

C Runtime Error R6002

with one comment

某學長在寫一隻簡單的分析程式時出現的問題:fscanf(”%f”, &value); 總是會出現 runtime error!

google 之後才知道,光只有使用 fscanf 是不會把浮點運算必須的函式庫 link 進去的,參考 MSDN

不知道 gcc 怎麼處理?回宿舍之後試試 :p

Update:

答案是不會錯…,下次試試 VC8

Written by kanru

February 22nd, 2008 at 10:32 pm

Posted in Programming

Tagged with , ,

gcc-4.3 & linux kernel

with 2 comments

答案就是:gcc-4.3 還不能拿來 compile kernel.. 因為會用到沒有定義的 libgcc function.

錯誤如下:

  CC      arch/i386/lib/msr-on-cpu.o
  LD      arch/i386/lib/built-in.o
  CC      arch/i386/lib/bitops.o
  AS      arch/i386/lib/checksum.o
  CC      arch/i386/lib/delay.o
  AS      arch/i386/lib/getuser.o
  CC      arch/i386/lib/memcpy.o
  CC      arch/i386/lib/mmx.o
  AS      arch/i386/lib/putuser.o
  AS      arch/i386/lib/semaphore.o
  CC      arch/i386/lib/string.o
  CC      arch/i386/lib/strstr.o
  CC      arch/i386/lib/usercopy.o
  AR      arch/i386/lib/lib.a
  GEN     .version
  CHK     include/linux/compile.h
  UPD     include/linux/compile.h
  CC      init/version.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
kernel/built-in.o: In function `getnstimeofday':
(.text+0x1d927): undefined reference to `__umoddi3'
kernel/built-in.o: In function `do_gettimeofday':
(.text+0x1d9e9): undefined reference to `__udivdi3'
kernel/built-in.o: In function `do_gettimeofday':
(.text+0x1da0c): undefined reference to `__umoddi3'
kernel/built-in.o: In function `timekeeping_resume':
timekeeping.c:(.text+0x1db18): undefined reference to `__udivdi3'
timekeeping.c:(.text+0x1db3b): undefined reference to `__umoddi3'
kernel/built-in.o: In function `update_wall_time':
(.text+0x1e214): undefined reference to `__udivdi3'
kernel/built-in.o: In function `update_wall_time':
(.text+0x1e237): undefined reference to `__umoddi3'
kernel/built-in.o: In function `update_wall_time':
(.text+0x1e2d3): undefined reference to `__udivdi3'
kernel/built-in.o: In function `update_wall_time':
(.text+0x1e2fd): undefined reference to `__umoddi3'
make[1]: *** [.tmp_vmlinux1] Error 1
make[1]: Leaving directory `/usr/src/linux-source-2.6.23'
make: *** [debian/stamp-build-kernel] Error 2

參考:

Written by kanru

January 13th, 2008 at 7:01 pm

Posted in Linux

Tagged with ,