R
rrrFer
Тут начинали переводить статьи из цикла "программирование для хакеров": Введение. Ну а я продолжу. Однако, мой перевод будет невероятно вольным, а какие-то части я вообще могу пропустить, т.к. на мой взгляд, автор исходных статей много говорит не по теме. В фигурных скобках и курсивом мои {переводчика} примечания.
Шаг 1 Создание файла с кодом
Дождитесь загрузки операционной системы {в оригинале - Ubuntu}. Откройте любой текстовый редактор {на самом деле, подойдет не любой - нужен т.н. plain text editor - в Linux это, например kate и gedit, в Windows - notepad, notepad++}. Вставьте в него этот код:
Результат будет выглядеть примерно так:
Шаг 2. Сохранение файла
Сохранить файл можно в любом каталоге, но этот каталог нужно запомнить, т.к. в для компиляции файла мы должны будем сначала перейти в этот каталог. Установите имя файла с расширением .c - например main.c.
Шаг 3. Компиляция файла
{Откройте терминал (в Windows - командную строку)}. Если вы сохранили файл в домашней директории {касается только Linux-систем} - можете сразу выполнить команду компиляции. В противном случае вам надо сначала перейти в нужный каталог. Сделать это можно командой cd.
{Например если вы находитесь в каталоге C:\, а файл main.c находится в C:\lesson2 то достаточно выполнить команду
cd \lesson2
Если же вы находитесь на C:\, а файл main.c - на E:\lessons\lesson2 - то вам нужно сначала перейти на диск E - сделать это можно
cd /d E:
Ключ /d предназначен для смены каталога. Вы могли бы сразу перейти в нужный каталог с
cd /d E:\lessons\lesson2
а можно использовать несколько команд - сначала сменить диск, а затем указать конкретный каталог на нем.
Для вывода содержимого каталога используйте команду dir (в Linux также доступна команда ls).
Можно получить справку по командам. Например для вывода справки по команде dir - в Windows введите в консоли:
dir /?
а в Linux:
man dir
Использовать консоль/терминал совсем не обязательно. Но если привыкнуть, то это может быть удобно. Кроме того, часто применяются файловые менеджеры типа Far (Windows) или MidnightCommander (команда mc в Linux), упрощающие навигацию в файловой системе, но сохраняющие все прелести использования консоли).}
После перехода в нужную директорию скомпилируйте программу командой:
gcc main.c
В результате успешной компиляции в текущем каталоге будет создан файл a.out. {Если вы что-то меняли (и сломали в файле main.c - на экран будет выведен список ошибок}.
Шаг 4. Запуск созданной программы
Для запуска созданной нами программы нужно файл, сгенерированный компилятором сделать исполняемым. {В оригинальной статье описывается этот процесс для Linux} - Для этого щелкните в файловом менеджере по нему правой кнопкой мыши, выберите "свойства", вкладку "ограничения" и поставьте галочку напротив - "разрешить выполнение файла".
{Чтобы сделать файл исполняемым в Windows достаточно сменить разрешение на .exe}
{А в Linux нормальный способ сделать файл исполняемым - использование команды chmod с ключом +x. Например:
chmod +x a.out
Это тем более логично, что на предыдущем шаге автор предлагал использовать терминал}
Теперь перейдите в терминал и запустите файл командой:
./a.out
{точка в начале команды (пути файла) говорит о том, что используется файл из текущего каталога}.
На этот раз это все, а в следующей статье мы рассмотрим подробно исходный код нашей программы (которую скомпилировали только что).
Шаг 1 Создание файла с кодом
Дождитесь загрузки операционной системы {в оригинале - Ubuntu}. Откройте любой текстовый редактор {на самом деле, подойдет не любой - нужен т.н. plain text editor - в Linux это, например kate и gedit, в Windows - notepad, notepad++}. Вставьте в него этот код:
Код:
#include <stdio.h>
int main()
{
printf("Hello Null Byte!\n");
return 0;
}
Шаг 2. Сохранение файла
Сохранить файл можно в любом каталоге, но этот каталог нужно запомнить, т.к. в для компиляции файла мы должны будем сначала перейти в этот каталог. Установите имя файла с расширением .c - например main.c.
Шаг 3. Компиляция файла
{Откройте терминал (в Windows - командную строку)}. Если вы сохранили файл в домашней директории {касается только Linux-систем} - можете сразу выполнить команду компиляции. В противном случае вам надо сначала перейти в нужный каталог. Сделать это можно командой cd.
{Например если вы находитесь в каталоге C:\, а файл main.c находится в C:\lesson2 то достаточно выполнить команду
cd \lesson2
Если же вы находитесь на C:\, а файл main.c - на E:\lessons\lesson2 - то вам нужно сначала перейти на диск E - сделать это можно
cd /d E:
Ключ /d предназначен для смены каталога. Вы могли бы сразу перейти в нужный каталог с
cd /d E:\lessons\lesson2
а можно использовать несколько команд - сначала сменить диск, а затем указать конкретный каталог на нем.
Для вывода содержимого каталога используйте команду dir (в Linux также доступна команда ls).
Можно получить справку по командам. Например для вывода справки по команде dir - в Windows введите в консоли:
dir /?
а в Linux:
man dir
Использовать консоль/терминал совсем не обязательно. Но если привыкнуть, то это может быть удобно. Кроме того, часто применяются файловые менеджеры типа Far (Windows) или MidnightCommander (команда mc в Linux), упрощающие навигацию в файловой системе, но сохраняющие все прелести использования консоли).}
После перехода в нужную директорию скомпилируйте программу командой:
gcc main.c
В результате успешной компиляции в текущем каталоге будет создан файл a.out. {Если вы что-то меняли (и сломали в файле main.c - на экран будет выведен список ошибок}.
Шаг 4. Запуск созданной программы
Для запуска созданной нами программы нужно файл, сгенерированный компилятором сделать исполняемым. {В оригинальной статье описывается этот процесс для Linux} - Для этого щелкните в файловом менеджере по нему правой кнопкой мыши, выберите "свойства", вкладку "ограничения" и поставьте галочку напротив - "разрешить выполнение файла".
{Чтобы сделать файл исполняемым в Windows достаточно сменить разрешение на .exe}
{А в Linux нормальный способ сделать файл исполняемым - использование команды chmod с ключом +x. Например:
chmod +x a.out
Это тем более логично, что на предыдущем шаге автор предлагал использовать терминал}
Теперь перейдите в терминал и запустите файл командой:
./a.out
{точка в начале команды (пути файла) говорит о том, что используется файл из текущего каталога}.
На этот раз это все, а в следующей статье мы рассмотрим подробно исходный код нашей программы (которую скомпилировали только что).