Как можно работать дома


Если на Вашем домашнем компьютере или ноутбуке установлен Linux, то Вы, вероятно, не должны читать эту страницу (достаточно посмотреть рекомендуемые ключи компилятора). Если же у Вас установлен Windows, то существует несколько способов решения проблемы, которые описаны ниже. Пользователям MacOS подойдет вариант с VirtualBox (можно как-то установить версию компилятрора gcc для MacOS, но инструкцию ищите самостоятельно в Интернет).

Если Вы установили или получили удаленный доступ к Linux одним из перечисленных способов, то для компиляции программ можно использовать команды, приведенные в Памятке. Однако настройки компилятора, которые используются в стандартных дистрибутивах Linux, отличаются от настроек в компьютерном классе. Это означает, что программа, которая работает на Вашем компьютере, может не откомпилироваться в классе. Для компиляции программ "в режиме класса" можно использовать следующую команду (вместо "-o first first.c" нужно подставить ваши имена файлов):

    gcc -Wall -Wextra -Werror -Wold-style-declaration -Wold-style-definition \
    -Wfloat-equal -pedantic -std=c99 -o first first.c
  

Более продвинутые опции

Язык С:
    gcc -Wall -Werror -Wformat-security -Wignored-qualifiers -Winit-self -Wswitch-defaulti \
    -Wfloat-equal -Wshadow -Wpointer-arith -Wtype-limits -Wempty-body -Wlogical-op \
    -Wstrict-prototypes -Wold-style-declaration -Wold-style-definition \
    -Wmissing-parameter-type -Wmissing-field-initializers -Wnested-externs \
    -Wno-pointer-sign -std=gnu99
  
Язык С++:
    c++ -Wall -Werror -Wformat-security -Wignored-qualifiers -Winit-self -Wswitch-default \
    -Wfloat-equal -Wshadow -Wpointer-arith -Wtype-limits -Wempty-body -Wlogical-op \
    -Wmissing-field-initializers -Wctor-dtor-privacy  -Wnon-virtual-dtor \
    -Wstrict-null-sentinel  -Wold-style-cast -Woverloaded-virtual \
    -Wsign-promo -Weffc++ -std=gnu++0x