2017-04-16 7 views
0

私は自分のASST0(hello world!)をやりました。私は(ちょうどテストし、同期を処理できません)math.cでいずれも変更されていないことを言及OS161 ASST1で `bmake`が` Error code 1`になるのはなぜですか?

[email protected]:~/cs350-os161/os161-1.99/kern/compile/ASST1$ bmake 
    cs350-gcc -g -Wall -W -Wwrite-strings -Wmissing-prototypes -Werror -std=gnu99 -mno-abicalls -fno-pic -ffixed-23 -nostdinc -I../../include -I../../dev -I. -Iincludelinks -ffreestanding -D_KERNEL -DUW -c ../../startup/math.c 
    cc1: warnings being treated as errors 
    ../../startup/math.c:65: warning: no previous prototype for ‘adder’ 
    ../../startup/math.c: In function ‘maths’: 
    ../../startup/math.c:157: warning: passing argument 3 of ‘thread_fork’ makes pointer from integer without a cast 
    ../../startup/math.c:157: warning: passing argument 5 of ‘thread_fork’ makes integer from pointer without a cast 
    *** Error code 1 

    Stop. 
    bmake: stopped in /home/newubuntu/cs350-os161/os161-1.99/kern/compile/ASST1 
    [email protected]:~/cs350-os161/os161-1.99/kern/compile/ASST1$ 

- 私は結果bmake ASST1(同期)を実行しようとする場合でも、のように見えます。しかし、私の友人は彼のマシンで同期のためのコードを編集しており、それは(10スレッドのために)動作します。興味深いことに、スレッドの数(NADDERS)が10 t0 20に変更された場合、bmakeはエラーになります。

答えて

0

関数プロトタイプadder in math.c つまりreturn_type adder(arguments);

そして、thread_fork()の機能定義を確認してください。 thread_forkのパラメーターの順序を修正してください。

関連する問題