Здравствуйте, мыщъх, Вы писали:
М>ничего не скажу на приплюснутую часть (потому как не знаю)
В этом плане она строже, чем MS VC++.
[...skip...]
М>printf("var_a = %x\n", a, b++); а вот гнусь грязно ругается. ага, вот вы уже ругаетесь тоже. а вот не надо трогать мой код в мое отсуствие. хотели убрать отладочную печать для создания релиза? ну так разбирайтесь почему оно перестало работать (хинт: b не предполается выводить на экран, его предполагается увеличить на единицу).
М>так же гнусю не нравится main(). ему подавай int main(). мелочь, конечно, а как анноит. и я бы не сказал, что объявляя int явно мы избавляемся от ошибок или прививаем себе хороший стиль кодинга. впрочем, к гнусю быстро привыкаешь.
Смотря с какими флагами собирать.
Просто "gcc file.c" на таком коде:
#include <stdio.h>
main () { // без int
int a = 0, b = 0;
printf("var_a = %x\n", a, b++);
}
— выдаёт, естественно, тишину.
Если -Wall поставить, конечно, будет ругаться (warning-ми), но можно поставить только те, которые нужны, исключив:
-Wformat, отвечающий за проверку printf, scanf и т.п.;
-Wreturn-type, отвечающий за ругательство на неявный int;
Правда, многовато может флагов получится, по сравнению с обычным выставлением -Wall.