1. Запускаем редактор vim для создания и редактирования файла hello.c
-g - включение отладочной информации в исполняемый файл;
-O0 - отключение оптимизации;
-o - имя исполняемого файла после компиляции.
Выводы:
#include <stdio.h>
int main()
{
printf("hello, world\n");
return 0;
}
Символ новой строки никогда не вставляется автоматически, так что одну строку можно напечатать по шагам с помощью нескольких обращений к printf. Нашу первую программу можно написать и так:
#include <stdio.h>
int main(void)
{
printf("hello, ");
printf("world");
printf("\n");
return 0;
}
$ vim hello.c
2. Нажатием клавиши <i> переходим в режим --INSERT-- и набираем текст программы:
#include <stdio.h>
main()
{
printf("hello, world\n");
}
Сохранение изменений и выход из редактора vim: клавиша <Esc> и ввод :wq
3. Компилируем файл командой:
$ cc -g -O0 -Wall -o a.out hello.c-Wall - включение предупреждений компилятора;
-g - включение отладочной информации в исполняемый файл;
-O0 - отключение оптимизации;
-o - имя исполняемого файла после компиляции.
$ cc -g -O0 -Wall -o a.out hello.c4. Запускаем файл на выполнение
hello.c:3:1: warning: return type defaults to 'int'
hello.c: In function 'main':
hello.c:6:1: warning: control reaches end of non-void function
$ ./a.outв итоге получаем hello, world
Выводы:
- Предупреждения при компиляции не мешают созданию исполняемого файла;
- Если не указан тип, возвращаемого функцией результата, то он автоматически становится 'int';
- Компилятор выдает предупреждение, когда функция должна вернуть значение, но не возвращает.
#include <stdio.h>
int main()
{
printf("hello, world\n");
return 0;
}
Символ новой строки никогда не вставляется автоматически, так что одну строку можно напечатать по шагам с помощью нескольких обращений к printf. Нашу первую программу можно написать и так:
#include <stdio.h>
int main(void)
{
printf("hello, ");
printf("world");
printf("\n");
return 0;
}
$ cc -g -O0 -Wall -o a.out hello.c
$ ./a.out
hello, world
Комментариев нет:
Отправить комментарий