1. 程式人生 > >for’ loop initial declarations are only allowed...改變GCC編譯標準!

for’ loop initial declarations are only allowed...改變GCC編譯標準!

在對.sh檔案編譯時,難免會進行gcc編譯c檔案,不同的編譯標準會出現不相容的情況,如gcc預設的編譯標準為

 -std = c89

此編譯標準不允許在for迴圈中定義迴圈變數i:
gcc
因此我們需要將gcc的編譯標準換為c99。
可以直接 新增其至gcc命令列後面:

gcc -std=c99 xxx.c -o xxx

但通常不好找到命令列位置,因此可直接在.sh檔案中加入:

  export CFLAGS=-std=c99

當然除了變換編譯標準,也可將for迴圈中的迴圈變數摘出來,先行定義,然後再迴圈體中直接引用。