我正在一個malloc實驗室程序,我需要找到效用和吞吐量的性能指標。我能夠獲得輸出效率,但第一次執行時有一個問題。內存分配第一次在終端上編譯錯誤
我給出了特定的一組文件,其中包括跟蹤和其他文件,當我試圖運行該程序第一次它顯示錯誤,但是當我運行相同的代碼相同的命令第二次多次我不是得到錯誤和輸出是好的?爲什麼它在第一次運行時顯示錯誤?在malloc中分配內存或執行操作有什麼問題嗎?
的命令,第一時間誤差如下,
enter code here
@ubuntu:$ make
當我運行此我第一次收到錯誤是如下
,
enter code here
gcc -Wall -O2 -m32 -c -o mdriver.o mdriver.c
mdriver.c: In function ‘remove_range’:
mdriver.c:438:9: warning: variable ‘size’ set but not used [-Wunused-but-set-variable]
int size;
^
mdriver.c: In function ‘read_trace’:
mdriver.c:498:11: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Wunused-result]
fscanf(tracefile, "%d", &(trace->sugg_heapsize)); /* not used */
^
mdriver.c:499:11: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Wunused-result]
fscanf(tracefile, "%d", &(trace->num_ids));
^
mdriver.c:500:11: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Wunused-result]
fscanf(tracefile, "%d", &(trace->num_ops));
^
mdriver.c:501:11: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Wunused-result]
fscanf(tracefile, "%d", &(trace->weight)); /* not used */
^
mdriver.c:524:12: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Wunused-result]
fscanf(tracefile, "%u %u", &index, &size);
^
mdriver.c:531:12: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Wunused-result]
fscanf(tracefile, "%u %u", &index, &size);
^
mdriver.c:538:12: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Wunused-result]
fscanf(tracefile, "%ud", &index);
^
gcc -Wall -O2 -m32 -c -o mm.o mm.c
mm.c:780:13: warning: ‘mm_check’ defined but not used [-Wunused-function]
static int mm_check(void)
^
gcc -Wall -O2 -m32 -c -o memlib.o memlib.c
gcc -Wall -O2 -m32 -c -o fsecs.o fsecs.c
gcc -Wall -O2 -m32 -c -o fcyc.o fcyc.c
gcc -Wall -O2 -m32 -c -o clock.o clock.c
gcc -Wall -O2 -m32 -c -o ftimer.o ftimer.c
gcc -Wall -O2 -m32 -o mdriver mdriver.o mm.o memlib.o fsecs.o fcyc.o clock.o ftimer.o
我再次
運行相同的命令enter code here
@ubuntu:$ make
make: `mdriver' is up to date.
現在,然後它顯示沒有錯誤,之後,如果我用所需的逗號運行該程序nds它工作得很好,但它第一次顯示錯誤?
您有兩種選擇:(a)修復產生警告的代碼,(b)禁用警告。如果你選擇(b)準備承擔後果:) – 2014-10-29 02:36:17