Операционная система Linux. Лекция 11

Размер: px
Начинать показ со страницы:

Download "Операционная система Linux. Лекция 11"

Транскрипт

1 Операционная система Linux Лекция 11

2 GNU Compiler Collection (gcc) GNU Compiler Collection - набор компиляторов для различных языков программирования, разработанный в рамках проекта GNU. GCC является свободным программным обеспечением, распространяется фондом свободного программного обеспечения (FSF) на условиях GNU GPL. Он используется как стандартный компилятор для свободных UNIXподобных операционных систем. Изначально названный GNU C Compiler поддерживал только язык Си. Позднее GCC был расширен для компиляции исходных кодов на таких языках программирования, как C++, Objective-C, Java, Фортран и Ada. gcc --version gcc --help 2

3 Hello, world. hello.c #include <stdio.h> int main(){ } printf("hello, world.\n"); return 0; gcc hello.c В каталоге появится файл a.out (assembler output), запуск его на выполнение - командой./a.out (точка означает текущий каталог). Имя выходного исполняемого файла, а также любого другого файла формируемого gcc, можно изменить с помощью опции -o gcc hello.c -o hello.out 3

if ($this->show_pages_images && $page_num < DocShare_Docs::PAGES_IMAGES_LIMIT) { if (! $this->doc['images_node_id']) { continue; } // $snip = Library::get_smart_snippet($text, DocShare_Docs::CHARS_LIMIT_PAGE_IMAGE_TITLE); $snips = Library::get_text_chunks($text, 4); ?>

4 Расширения имен файлов file.c - исходный код на языке C, который надо обработать препроцессором file.cpp - исходный код на языке C++, который надо обработать препроцессором file.h - заголовочный файл C, C++ file.i (ii)- исходный код на языке C (С++), который не надо обрабатывать препроцессором file.s - код ассемблера file.o - объектный файл man gcc - полный список расширений 4

5 Общее определение компиляции ''Компиляция - трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду.'' При использовании gcc процесс компиляции можно разбить на 4 этапа: обработка препроцессором, компиляция, ассемблирование и связывание (линковка). Опции gcc позволяют прервать процесс на любом из этих этапов. 5

6 1. Препроцессор Препроцессор осуществляет подготовку исходного файла к компиляции - вырезает комментарии, добавляет содержимое заголовочных файлов (директива препроцессора #include), реализует раскрытие макросов (символических констант, директива препроцессора #define). Воспользовавшись опцией -E дальнейшие действия gcc можно прервать и просмотреть содержимое файла, обработанного препроцессором. gcc -E hello.c -o hello.i hello.i - файл длиной порядка 800 строк, его лучше смотреть командой cat -n hello.i less По соглашениям gcc расширение.i соответствует файлам с исходным кодом на языке C не требующим обработки препроцессором. Такие файлы компилируются минуя препроцессор: gcc hello.i -o hello 6

7 2. Компиляция После препроцессинга наступает очередь компиляции. Компилятор преобразует исходный текст программы на языке высокого уровня в код на языке ассемблера. Остановить процесс создания исполняемого файла по завершении компиляции позволяет опция -S: gcc -S hello.c При этом задавать имя выходного файла не обязательно, так как gcc автоматически создаст файл hello.s, содержащий реализацию программы на языке ассемблера. cat hello.s 7

8 3. Ассмеблирование Следующий этап - операция ассмеблирования - трансляция кода на языке ассемблера в машинный код. Результат - объектный файл. Объектный файл содержит блоки готового к исполнению машинного кода, блоки данных, а также список определенных в файле функций и внешних переменных (таблицу символов), но при этом в нем не заданы абсолютные адреса ссылок на функции и данные. Объектный файл не может быть запущен на исполнение непосредственно, но в дальнейшем (на этапе линковки) может быть объединен с другими объектными файлами (при этом, в соответствии с таблицами символов, будут вычислены и заполнены адреса существующих между файлами перекрестных ссылок). Опция gcc -c, останавливает процесс по завершении этапа ассемблирования: gcc -c hello.c Для объектных файлов принято стандартное расширение.o 8

9 4. Связывание (линковка) Если полученный объектный файл hello.o передать линковщику, последний вычислит адреса ссылок, добавит код запуска и завершения программы, код вызова библиотечных функций и в результате получится готовый исполняемый файл программы. gcc hello.o -o hello 9

10 Оптимизация Опции -O1, -O2, -O3 - задают уровень оптимизации кода генерируемого компилятором. С увеличением номера, степень оптимизации возрастает. Без '-O' цель компилятора состоит в том, чтобы уменьшить стоимость трансляции и выдать ожидаемые результаты при отладке. С '-O' компилятор пробует уменьшить размер кода и время исполнения. Опция -O0 - отменяет какую-либо оптимизацию кода. Опция необходима на этапе отладки приложения. Опция -Os - задает оптимизацию не по эффективности кода, а по размеру получаемого файла. Производительность программы при этом должна быть сопоставима с производительностью кода полученного при компиляции с уровнем оптимизации заданным по умолчанию. 10

11 circle.c int main () { int i; for(i = 0; i < 10; ++i) ; return i; } Пустое тело цикла gcc -S circle.c (без оптимизации) gcc -S -O3 circle.c -o circle3.s (максимальная оптимизация) 11

12 Задание на практику Набрать файл с кодом hello.c, скомпилировать его, получив файл a.out, выполнить. Используя опции gcc, получить файл, обработанный препроцессором (hello.i), файл, содержащий программу на языке ассемблера (hello.s), объектный файл (hello.o), исполняемый файл (hello). Набрать файл с кодом circle.c, получить файлы, содержащие программы на языке ассемблера circle.s - без оптимизации, circle3.s - с оптимизацией уровня 3, сравнить их. Получить соответствующие исполняемые файлы. Как получить результат выполнения такой программы? 12

Операционная система Linux. Лекция 12

Операционная система Linux. Лекция 12 Операционная система Linux Лекция 12 1 Компиляция нескольких файлов Раздельная компиляция трансляция частей программы по отдельности с последующим объединением их компоновщиком в единый загрузочный модуль.

Подробнее

СибГУТИ Кафедра ВС Программирование на языке высокого уровня (ПЯВУ), семестр учебный год Поляков А.Ю.

СибГУТИ Кафедра ВС Программирование на языке высокого уровня (ПЯВУ), семестр учебный год Поляков А.Ю. СибГУТИ Кафедра ВС Программирование на языке высокого уровня (ПЯВУ), семестр 1 2009 2010 учебный год Поляков А.Ю. Лабораторная работа 1. Среда программирования ОС Linux. Цель работы: Познакомиться с программным

Подробнее

Лабораторная работа 0. Знакомство с ОС GNU/Linux

Лабораторная работа 0. Знакомство с ОС GNU/Linux Кафедра вычислительных систем Сибирский государственный университет телекоммуникаций и информатики Лабораторная работа 0. Знакомство с ОС GNU/Linux Перышкова Евгения Николаевна E-mail: e.peryshkova@gmail.com

Подробнее

Система трансляции программ в Unix 1.1 Схема трансляции программы Препроцессирование. Трансляция в ассемблер. Ассемблирование. Компоновка.

Система трансляции программ в Unix 1.1 Схема трансляции программы Препроцессирование. Трансляция в ассемблер. Ассемблирование. Компоновка. 1 Система трансляции программ в Unix 1.1 Схема трансляции программы Рассмотрим схему трансляции программы на языке Си, которая традиционно используется в системах Unix. Трансляция программы состоит из

Подробнее

Компилятор и его друзья

Компилятор и его друзья 11 июля 2016 г. Знакомые компиляторы Паскаль fpc hello.pas C gcc hello.c -o hello C++ g++ hello.cpp -o hello Тоже компиляторы Существенно отличаются от предыдущих! Java javac Hello.java Python python -m

Подробнее

План курса. Литература.

План курса. Литература. План курса. Литература. Язык программирования C Б.В. Керниган, Д.М. Ричи. "Язык программирования С" Язык программирования C++ Бьерн Страуструп "Язык программирования С++" m Практические занятия Компьютерный

Подробнее

Языки программирования и методы трансляции

Языки программирования и методы трансляции Языки программирования и методы трансляции Введение 1 Спектр языков программирования 2 Наибольший общий делитель Сначала программы писали так: Пример (Программа вычисления н.о.д. для x86) 55 89 e5 53 83

Подробнее

Модульное программирование. Сборка проектов из нескольких файлов. Утилита make.

Модульное программирование. Сборка проектов из нескольких файлов. Утилита make. Студенческая лаборатория МФТИ-Intel Модульное программирование. Сборка проектов из нескольких файлов. Утилита make. Максим Кузнецов maks.kuznetsov@gmail.com 30.11.2012 http://ilab.mipt.ru Мотивация Зачем

Подробнее

Знакомство с традиционными средствами разработки в ОС Linux

Знакомство с традиционными средствами разработки в ОС Linux Лаборатория системного программирования и информационных технологий СПбГУ Лабораторная работа 2 Знакомство с традиционными средствами разработки в ОС Linux 1 Цели работы Знакомство с традиционными средствами

Подробнее

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2015/2016. Лекция 4

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2015/2016. Лекция 4 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2015/2016 Лекция 4 1 Нормальные алгоритмы Маркова Определение нормального алгоритма Маркова (НАМ) V алфавит основных символов V алфавит маркеров σ, σ

Подробнее

Базовое программное обеспечение процессора NM6403

Базовое программное обеспечение процессора NM6403 Введение Базовое программное обеспечение (БПО) нейропроцессора NM6403 обеспечивает полный цикл разработки и отладки прикладных программ. БПО позволяет разрабатывать прикладные программы на языке Си++ и

Подробнее

Компиляция программ

Компиляция программ 1 План лекции : 1. Введение. Трансляторы и интерпретаторы. 2. Этапы трансляции программ. 3. Транслятор gcc. 4. Утилита make. 5. Пример компиляции проекта. Литература по лекции Примечания и комментарии

Подробнее

Сборка программы на языке C

Сборка программы на языке C А. Г. Фенстер, fenster@fenster.name 9 февраля 2010 г. 1 Сборка программы из нескольких файлов Программы на языке C обычно состоят из нескольких файлов с исходным кодом. Рассмотрим этапы сборки программы

Подробнее

ЛАБОРАТОРНАЯ РАБОТА 2. «ИЗУЧЕНИЕ ОПТИМИЗИРУЮЩЕГО КОМПИЛЯТОРА» 1. ОПТИМИЗИРУЮЩИЙ КОМПИЛЯТОР. ОСНОВНЫЕ ФУНКЦИИ И ХАРАКТЕРИСТИКИ

ЛАБОРАТОРНАЯ РАБОТА 2. «ИЗУЧЕНИЕ ОПТИМИЗИРУЮЩЕГО КОМПИЛЯТОРА» 1. ОПТИМИЗИРУЮЩИЙ КОМПИЛЯТОР. ОСНОВНЫЕ ФУНКЦИИ И ХАРАКТЕРИСТИКИ ЛАБОРАТОРНАЯ РАБОТА 2. «ИЗУЧЕНИЕ ОПТИМИЗИРУЮЩЕГО КОМПИЛЯТОРА» Цели работы 1. Изучение основных функций оптимизирующего компилятора, и некоторых примеров оптимизирующих преобразований и уровней оптимизации.

Подробнее

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017. Лекция 13

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017. Лекция 13 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017 Лекция 13 1 Схема раздельной компиляции Исходная программа file1.c file2.c file3.c 1 Препроцессор 1 Препроцессор 1 Препроцессор 2 Компилятор

Подробнее

Рис Схема алгоритма рассматриваемой задачи. Уточним содержимое блока «Вычисление и печать расстояния».

Рис Схема алгоритма рассматриваемой задачи. Уточним содержимое блока «Вычисление и печать расстояния». Лабораторная работа 1 Программирование линейных алгоритмов Цель работы: выработать практические навыки работы с системой Microsoft Visual Studio, научиться создавать, вводить в компьютер, выполнять и исправлять

Подробнее

Программа работы с кластером «HIG Cluster Tool»

Программа работы с кластером «HIG Cluster Tool» Программа работы с кластером «HIG Cluster Tool» Автор и разработчик: Хныкин Иван Геннадьевич (с) 2010 Начало работы Войдите на интернет сайт кластера: По ссылке «Информация» находится документация по работе

Подробнее

Языки программирования

Языки программирования 3. Влияние архитектуры Структура компьютера 1. Данные; 2. Элементарные операции; 3. Управление последовательностью действий; 4. Доступ к данным; 5. Управление памятью; 6. Операционная среда. 2 Данные Хранение:

Подробнее

Установка и настройка рекомендуемых средств разработки в ОС Windows для курса «Технология программирования»

Установка и настройка рекомендуемых средств разработки в ОС Windows для курса «Технология программирования» Установка и настройка рекомендуемых средств разработки в ОС Windows для курса «Технология программирования» СОДЕРЖАНИЕ 1 Установка MinGW... 2 1.1 Загрузка... 2 1.2 Установка... 2 1.3 Настройка системы...

Подробнее

переменные, стандартный ввод-вывод. Игра «Утраченный клад»

переменные, стандартный ввод-вывод. Игра «Утраченный клад» 1 Типы, переменные, стандартный ввод-вывод. Игра «Утраченный клад» Программирование игр взыскательная отрасль. В этой сфере и разработчик, и машина должны работать на пределе возможностей. Но игра здесь

Подробнее

СОЗДАНИЕ ПРИЛОЖЕНИЙ НА C++ В СРЕДЕ NETBEANS. Чекуров В.В.

СОЗДАНИЕ ПРИЛОЖЕНИЙ НА C++ В СРЕДЕ NETBEANS. Чекуров В.В. СОЗДАНИЕ ПРИЛОЖЕНИЙ НА C++ В СРЕДЕ NETBEANS Чекуров В.В. nau.devclub@gmail.com http://osum.sun.com/group/nau ВПЕЧАТЛЕНИЯ ОТ РАБОТЫ В СРЕДЕ NETBEANS И CYGWIN Интегрированная среда разработки (IDE) NetBeans,

Подробнее

Руководство по работе в среде разработки Code::Blocks

Руководство по работе в среде разработки Code::Blocks Руководство по работе в среде разработки Code::Blocks С/к. «ООП на C ++» мехмат, II курс, ВО, ИСТ Практикум Руководство по работе в среде разработки Code::Blocks 1 / 60 Создание Функция Файл Путь к файлу

Подробнее

Рис.1 Начальная страница Microsoft Visual Studio 2010

Рис.1 Начальная страница Microsoft Visual Studio 2010 ЛАБОРАТОРНАЯ РАБОТА 5 Тема: Работа в среде Microsoft Visual Studio 2010 Цель работы: Навчиться работать в среде Microsoft Visual Studio 2010 Оборудование: ПК,ПО Microsoft Visual Studio 2010 Ход роботы

Подробнее

#define

#define <name> <text> 1 Занятие 9 1.1 Препроцессор Препроцессирование это специальный просмотр исходного файла на языке Си, в ходе которого выполняются специальные директивы (директивы препроцессора) и производится макроподстановка

Подробнее

Подключение внешних библиотек в среде Code::Blocks

Подключение внешних библиотек в среде Code::Blocks Курс «Технология программирования» Подключение внешних библиотек в среде Code::Blocks Библиотека (англ. library) в программировании сборник подпрограмм или объектов, используемых для разработки программного

Подробнее

1. Определение пространства имен 2. Анонимные пространства имен

1. Определение пространства имен 2. Анонимные пространства имен Лекция 16 Тема: Пространства имен План: 1. Определение пространства имен 2. Анонимные пространства имен 3. Стандартное пространство имен 4. Оператор разрешения области видимости 5. Объявление using 6.

Подробнее

ИНФОРМАТИКА I: ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ СИ

ИНФОРМАТИКА I: ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ СИ ИНФОРМАТИКА I: ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ СИ ЛЕКЦИЯ 1 12 СЕНТЯБРЯ 2010 ВВЕДЕНИЕ В КУРС. ЯЗЫК СИ В СТРУКТУРЕ КОМПЕТЕНЦИЙ СТУДЕНТА И ВЫПУСКНИКА ПЕТРГУ Формы организации занятий Лекционные (16 занятий

Подробнее

Москва Мироновская 33 телефон (495) факс: (495)

Москва Мироновская 33 телефон (495) факс: (495) Внимание! Важно знать перед установкой! K2 Studio устанавливается на операционные системы Windows XP SP3, Windows Server 2003 SP2, Windows Vista, Windows Server 2008, Windows Server 2008 R2, Windows Server

Подробнее

Установка компилятора GNU Compiler Collection (GCC). Установка, локализация и настройка IDE Eclipse CDT (C/C++ Development Tools) Luna

Установка компилятора GNU Compiler Collection (GCC). Установка, локализация и настройка IDE Eclipse CDT (C/C++ Development Tools) Luna Установка компилятора GNU Compiler Collection (GCC). Установка, локализация и настройка IDE Eclipse CDT (C/C++ Development Tools) Luna МЕТОДИЧЕСКОЕ ПОСОБИЕ для пользователей OS Windows Дата: 23.07.15 2

Подробнее

Программы из нескольких файлов

Программы из нескольких файлов 102 В.Л. Тарасов Лекции по программированию на C++ Лекция 8 Программы из нескольких файлов Как правило, исходные тексты программ на C++ размещают в нескольких файлах. Это удобно, так как небольшой код

Подробнее

КОМПИЛЯЦИЯ ПРОГРАММ, НАПИСАННЫХ НА ЯЗЫКЕ СИ, В LINUX. работы в лабораториях Кафедры вычислительных систем Сибирского

КОМПИЛЯЦИЯ ПРОГРАММ, НАПИСАННЫХ НА ЯЗЫКЕ СИ, В LINUX. работы в лабораториях Кафедры вычислительных систем Сибирского КОМПИЛЯЦИЯ ПРОГРАММ, НАПИСАННЫХ НА ЯЗЫКЕ СИ, В LINUX (в лабораториях Кафедры вычислительных систем СибГУТИ) В методическом пособии рассматривается порядок разработки программ, включающий: подготовку текстового

Подробнее

Потоки. #include Что можно делать с потоками? Открыть Использовать ( читать, писать в поток ) Закрыть

Потоки. #include <stdio.h> Что можно делать с потоками? Открыть Использовать ( читать, писать в поток ) Закрыть Потоки Стандартные потоки: stdin, stdout, stderr Потоки также можно создать самим: FILE * fp; FILE это тип данных, который определен в stdio.h, и потому любая программа, которая использует потоки должна

Подробнее

Обзор Java технологий

Обзор Java технологий Обзор Java технологий Что такое Java? Язык программирования Платформа: Аппаратная Операционная Технологии Сообщество разработчиков Популярность Java технологий 6 млн. Java разработчиков. 2.5 млн. серверов

Подробнее

Операционная система Linux. Лекция 6

Операционная система Linux. Лекция 6 Операционная система Linux Лекция 6 Командная оболочка (shell, bash) является интерфейсом командной строки в Unix-подобных ОС, то есть выполняет команды, которые подает пользователь, или которые читаются

Подробнее

Министерство образования РФ Самарский государственный аэрокосмический университет академика С. П. Королева ИСПОЛЬЗОВАНИЕ ЯЗЫКА ПРОГРАММИРОВАНИЯ СИ

Министерство образования РФ Самарский государственный аэрокосмический университет академика С. П. Королева ИСПОЛЬЗОВАНИЕ ЯЗЫКА ПРОГРАММИРОВАНИЯ СИ Министерство образования РФ Самарский государственный аэрокосмический университет академика С. П. Королева имени ИСПОЛЬЗОВАНИЕ ЯЗЫКА ПРОГРАММИРОВАНИЯ СИ Методические указания к лабораторным работам по

Подробнее

Лекция 2. Как выполняются программы на C++

Лекция 2. Как выполняются программы на C++ http://compscicenter.ru 1/21 Лекция 2. Как выполняются программы на C++ Александр Смаль CS центр 15 сентября 2016 Санкт-Петербург http://compscicenter.ru 2/21 Типы данных Целочисленные: 1. char (символьный

Подробнее

Компиляция и интерпретация программ

Компиляция и интерпретация программ Компиляция и интерпретация программ Языки программирования, в общем случае, разработаны для того, чтобы человек мог в понятной ему форме написать программу. Для того, чтобы программа могла быть исполнена

Подробнее

Лекции по курсу Алгоритмы и алгоритмические языки, 1 курс, 1 поток, 2010/2011 уч.год.

Лекции по курсу Алгоритмы и алгоритмические языки, 1 курс, 1 поток, 2010/2011 уч.год. Лекция 8 Массивы и указатели 8.1. Указатели 8.1.1. Организация памяти в компьютере массив последовательно пронумерованных (адресуемых) ячеек, которые можно обрабатывать по отдельности, либо группами. Указатель

Подробнее

Введение. Программный код будет представлен таким же образом: Hi mom! // программа int main() {... } C++_for_dumm_7-еd.indb

Введение. Программный код будет представлен таким же образом: Hi mom! // программа int main() {... } C++_for_dumm_7-еd.indb Введение М ы рады приветствовать вас на страницах нашей книги! В ней вы найдете всю необходимую для изучения C++ информацию, изложенную доступным языком и не отягощенную излишними подробностями. Об этой

Подробнее

Язык программирования Cи. Семинар 5. Коллоквиум, методика проведения и типовые вопросы.

Язык программирования Cи. Семинар 5. Коллоквиум, методика проведения и типовые вопросы. Язык программирования Cи Бикулов Д.А., Иваницкая Н.В., Иванов А.П. Семинар 5. Коллоквиум, методика проведения и типовые вопросы. Коллоквиум проводится на семинарском занятии в середине семестра (обычно

Подробнее

Лабораторная работа 1. Построение первого приложения. Линейные программы

Лабораторная работа 1. Построение первого приложения. Линейные программы Лабораторная работа 1. Построение первого приложения. Линейные программы 1 Моя первая программа Традиционно при изучении нового языка программирования первой программой, которую пишет программист, является

Подробнее

Лекция 2. Модульное программирование

Лекция 2. Модульное программирование Название Лекция 2. Модульное программирование Объектно-ориентированное программирование на C ++ 7 сентября 2009 г. Лекция 2 1 / 17 Проблемы при разработке ПО Проблемы Правила применения Проблемы, возникающие

Подробнее

Практическая работа 1. Элементы интерфейса

Практическая работа 1. Элементы интерфейса Практическая работа 1. Элементы интерфейса Школа 444, Москва Практическая работа 1 «Элементы интерфейса», Стр.-1, Всего - 6 В последнее время особое внимание уделяется лицензионной чистоте используемого

Подробнее

ЛАБОРАТОРНАЯ РАБОТА 3

ЛАБОРАТОРНАЯ РАБОТА 3 ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ»

Подробнее

Языки программирования и методы трансляции

Языки программирования и методы трансляции Языки программирования и методы трансляции Имена, связывание, области видимости 1 Время связывания 2 3 Статические области видимости Динамические области видимости Имя, область видимости и связывание Имя

Подробнее

Лабораторная работа 1 Программирование алгоритмов линейной структуры

Лабораторная работа 1 Программирование алгоритмов линейной структуры Лабораторная работа 1 Программирование алгоритмов линейной структуры 1. ЦЕЛЬ РАБОТЫ: приобретение практических навыков работы в интегрированной среде, изучение структуры программы на языке С. 2. ОСНОВНЫЕ

Подробнее

Программирование в C++ Преподаватель Колотова Людмила Павловна

Программирование в C++ Преподаватель Колотова Людмила Павловна Программирование в C++ Преподаватель Колотова Людмила Павловна 2 Содержание 4-го занятия по практике Работа с функциями. Простые и библиотечные функции Передача аргументов в функцию Значение, возвращаемое

Подробнее

Платформа Java SE: введение

Платформа Java SE: введение Платформа Java SE: введение Андрей Дмитриев andrei.dmitriev@oracle.com Программа Платформа JavaSE. Язык Java. С чего начать? Вопросы и ответы. Платформа Java SE Почему платформа?

Подробнее

Лабораторная работа 1. Построение первого приложения. Линейные программы

Лабораторная работа 1. Построение первого приложения. Линейные программы Лабораторная работа 1. Построение первого приложения. Линейные программы 1 Моя первая программа Традиционно при изучении нового языка программирования первой программой, которую пишет программист (ужасно,

Подробнее

Embedded Design Handbook 4. Инструменты командной строки Nios II Перевод: Егоров А.В., 2011 г.

Embedded Design Handbook 4. Инструменты командной строки Nios II Перевод: Егоров А.В., 2011 г. Линковщик Используйте команду nios2-elf-g++ для компоновки ваших объектных файлов и архивов в окончательный исполняемый формат ELF. Пример использования линковщика Для компоновки ваших объектных файлов

Подробнее

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017. Лекция 8

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017. Лекция 8 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017 Лекция 8 1 Указатели & - операция адресации * - операция разыменования int a = 1; int *p; p = &a; *p = 2; printf ("Значение переменной a = %d\n",

Подробнее

Лабораторная работа 1 Знакомство со средой Microsoft Visual Studio 2010 (Ultimate)

Лабораторная работа 1 Знакомство со средой Microsoft Visual Studio 2010 (Ultimate) Лабораторная работа 1 Знакомство со средой Microsoft Visual Studio 2010 (Ultimate) 1. Запустите среду разработки: меню Пуск \ Программы \ Microsoft Visual Studio 2010 \Microsoft Visual Studio 2010. Появится

Подробнее

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ СТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ Институт экономики, управления, информационных систем в строительстве и недвижимости Кафедра информационных

Подробнее

Глава 6. Интерфейс между программами, написанными на языках C и Fortran и пакетом Scilab

Глава 6. Интерфейс между программами, написанными на языках C и Fortran и пакетом Scilab SCILAB Глава 6. Интерфейс между программами, написанными на языках C и Fortran и пакетом Scilab Содержание главы: Как добавить код C и Fortran программ в Scilab? Динамическое линкование Особенности интерфейса

Подробнее

Платформа Java SE: введение

Платформа Java SE: введение Платформа Java SE: введение Андрей Дмитриев andrei-dmitriev@yandex.ru http://in4mix2006.narod.ru/ 2008 Copyright (C) 2000-2008 Sun Microsystems, Inc. All rights reserved. Программа Платформа JavaSE Язык

Подробнее

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ С/C++ (ЧАСТЬ 1)

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ С/C++ (ЧАСТЬ 1) МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ «БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТРАНСПОРТА» Кафедра «Информационные технологии» Д. В. БАЛАЩЕНКО, Д. В. ЗАХАРОВ ПРОГРАММИРОВАНИЕ

Подробнее

Методы взаимодействия прикладного приложения и ядра ОС

Методы взаимодействия прикладного приложения и ядра ОС Санкт Петербургский Государственный Университет Математико механический факультет Кафедра системного программирования Методы взаимодействия прикладного приложения и ядра ОС Курсовая работа студента 344

Подробнее

Прилагаемый компакт-диск

Прилагаемый компакт-диск Ââåäåíèå Добро пожаловать в мир книги C++ для чайников шестое издание; в ней вы найдете всю необходимую для изучения C++ информацию, изложенную доступным языком и не отягощенную излишними подробностями.

Подробнее

О.В.Бартеньев VISUAL FORTRAN: НОВЫЕ ВОЗМОЖНОСТИ Пособие содержит обширный материал по специальным, расширяющим стандарт Фортрана возможностям Digital

О.В.Бартеньев VISUAL FORTRAN: НОВЫЕ ВОЗМОЖНОСТИ Пособие содержит обширный материал по специальным, расширяющим стандарт Фортрана возможностям Digital О.В.Бартеньев VISUAL FORTRAN: НОВЫЕ ВОЗМОЖНОСТИ Пособие содержит обширный материал по специальным, расширяющим стандарт Фортрана возможностям Digital Visual Fortran, который, как известно, использует в

Подробнее

ЯЗЫКИ ПРОГРАММИРОВАНИЯ

ЯЗЫКИ ПРОГРАММИРОВАНИЯ ЯЗЫКИ ПРОГРАММИРОВАНИЯ Выполнила: ученица 10А класса МОУ СОШ 53 г. Саратова Юлия Юдаева Язык программирования формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования

Подробнее

Зачем изучать концепции языков программирования Большая свобода в выражении мыслей Знания, необходимые для правильного выбора подходящего языка програ

Зачем изучать концепции языков программирования Большая свобода в выражении мыслей Знания, необходимые для правильного выбора подходящего языка програ Концепции языков программирования Зачем изучать концепции языков программирования Большая свобода в выражении мыслей Знания, необходимые для правильного выбора подходящего языка программирования Способность

Подробнее

Язык программирования С

Язык программирования С ПРОГРАММА Язык программирования С 2015г. Пояснительная записка Большая часть действительно серьёзных и сложных программ в настоящее время пишется именно на С и С++ (СИ). В курсе по С (СИ) обращается особое

Подробнее

РАБОЧАЯ ПРОГРАММА Дисциплина «Информационная техника ч.1» форма обучения очная.

РАБОЧАЯ ПРОГРАММА Дисциплина «Информационная техника ч.1» форма обучения очная. ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Филиал государственного образовательного учреждения высшего профессионального образования «Московский государственный институт радиотехники, электроники и автоматики

Подробнее

Консольные приложения Visual C++ в среде Microsoft Studio 2008

Консольные приложения Visual C++ в среде Microsoft Studio 2008 Московский государственный технический университет имени Н. Э. Баумана Факультет Информатика и системы управления Кафедра Компьютерные системы и сети «УТВЕРЖДАЮ» Заведующий кафедрой ИУ-6 Сюзев В.В. Г.

Подробнее

Среда программирования

Среда программирования Дисциплина "" Среда программирования Прогресс технологии дает нам все более совершенные средства длядвижениявспять. О. Хаксли Содержание Понятие среды программирования Техника разработки программ Классификация

Подробнее

Информационные технологии. Лекция 3

Информационные технологии. Лекция 3 Информационные технологии Лекция 3 1 Оболочка bash 2 Основные сведения Оболочка или shell работа в текстовом режиме (интерфейс командной строки) Графический интерфейс пользователя (GUI) работа в графическом

Подробнее

Содержание. Часть I. Погружение в С++ Глава 1. Введение и настройка среды разработки...20

Содержание. Часть I. Погружение в С++ Глава 1. Введение и настройка среды разработки...20 Содержание Часть I. Погружение в С++ Глава 1. Введение и настройка среды разработки...20 Что такое язык программирования?...20 В чем различие между C и C++?.........................................21 Обязательно

Подробнее

Федеральное государственное автономное образовательное учреждение высшего профессионального образования «СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

Федеральное государственное автономное образовательное учреждение высшего профессионального образования «СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ» Федеральное государственное автономное образовательное учреждение высшего профессионального образования «СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ» Институт математики и фундаментальной информатики Базовая кафедра

Подробнее

Введение в OpenMP. Слайд 1 Данная лекция посвящена OpenMP. Презентация основана на материалах SUN Microsystems.

Введение в OpenMP. Слайд 1 Данная лекция посвящена OpenMP. Презентация основана на материалах SUN Microsystems. Комментарии к слайдам. Автор: Романенко Алексей arom@ccfit.nsu.ru Введение в OpenMP Слайд 1 Данная лекция посвящена OpenMP. Презентация основана на материалах SUN Microsystems. Слайд 2 Из данной лекции

Подробнее

Содержание ПРЕДИСЛОВИЕ Глава 1 БАЗОВЫЕ ПОНЯТИЯ ЯЗЫКА Глава 2 ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА Си... 56

Содержание ПРЕДИСЛОВИЕ Глава 1 БАЗОВЫЕ ПОНЯТИЯ ЯЗЫКА Глава 2 ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА Си... 56 Содержание ПРЕДИСЛОВИЕ... 6 Глава 1 БАЗОВЫЕ ПОНЯТИЯ ЯЗЫКА... 10 1.1. Алфавит, идентификаторы, служебные слова... 11 1.2. Литералы... 14 1.3. Переменные и именованные константы... 21 1.4. Операции... 30

Подробнее

1. Общая информация о дисциплине 1.1. Название дисциплины: Системное программное обеспечение

1. Общая информация о дисциплине 1.1. Название дисциплины: Системное программное обеспечение 1. Общая информация о дисциплине 1.1. Название дисциплины: Системное программное обеспечение 1.2. Трудоѐмкость дисциплины 1.2.1. Трудоѐмкость дисциплины по учебному плану очной формы обучения: 180 часов

Подробнее

Технологии программирования

Технологии программирования Федеральное агентство связи федеральное государственное образовательное бюджетное учреждение высшего профессионального образования «Сибирский государственный университет телекоммуникаций и информатики»

Подробнее

Раздельная компиляция

Раздельная компиляция Раздельная компиляция Важной возможностью языка C++ является раздельная компиляция. Небольшие программы обычно размещают в одном исходном файле. Большие же программы разбивают по смыслу на несколько частей,

Подробнее

Задание #1 Вопрос: Массивом называется... Задание #2 Вопрос: Укажите в каком варианте параметры функции являются формальными

Задание #1 Вопрос: Массивом называется... Задание #2 Вопрос: Укажите в каком варианте параметры функции являются формальными Тест для зачета по дисциплине "Языки программирования" Автор: Бугаков П.Ю. Инструкция к тесту: Тест содержит 38 вопросов и расчитан на выполнение в течение 90 минут. Если вы затрудняетесь дать правильный

Подробнее

Алгоритмы, структуры данных и прогр-ие_рус_3рк_зим_шайдуллина_ис(2к3,4г очн)

Алгоритмы, структуры данных и прогр-ие_рус_3рк_зим_шайдуллина_ис(2к3,4г очн) Алгоритмы, структуры данных и прогр-ие_рус_3рк_зим_шайдуллина_ис(2к3,4г очн) Автор теста: Шайдуллина Динара Ташеновна Название курса: Алгоритмы, структуры данных и программирование Название теста: Алгоритмы,

Подробнее

РАБОЧАЯ УЧЕБНАЯ ПРОГРАММА по дисциплине «Системное программирование»

РАБОЧАЯ УЧЕБНАЯ ПРОГРАММА по дисциплине «Системное программирование» МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ «МАТИ» РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ им. К. Э. ЦИОЛКОВСКОГО Кафедра «Моделирование систем и информационные технологии» «УТВЕРЖДАю»

Подробнее

Раздел 2: «Специальные навыки» Тема 4 «Виртуальные машины в тестировании»

Раздел 2: «Специальные навыки» Тема 4 «Виртуальные машины в тестировании» Раздел 2: «Специальные навыки» Тема 4 «Виртуальные машины в тестировании» Преимущества оценки по тест-кейсам. Алгоритм оценки по тест-кейсам. Оценка своей производительности. Подсчёт числа тестов. Учёт

Подробнее

Шины и прерывания. Маркова В.П., Остапкевич М.Б., Перепелкин В.А.

Шины и прерывания. Маркова В.П., Остапкевич М.Б., Перепелкин В.А. Шины и прерывания Маркова В.П., Остапкевич М.Б., Перепелкин В.А. 2016 Шина это коммуникационное аппаратное обеспечение представляющее собой набор проводников несущих двоичные сигналы Функции шин Синхронизация

Подробнее

Теория и технология программирования Основы программирования на языках C и C++

Теория и технология программирования Основы программирования на языках C и C++ Теория и технология программирования Основы программирования на Лекция 13. Области действия и времена жизни Глухих Михаил Игоревич, к.т.н., доц. mailto: glukhikh@mail.ru Основные понятия Область действия

Подробнее

Трансляция и выполнение программ

Трансляция и выполнение программ Глава 2 Трансляция и выполнение программ 2.1. Трансляция и интерпретация Как было показано в предыдущей теме, решение одной и той же задачи может быть записано на различных языках программирования. Так

Подробнее

Программируем под Android Hello, World!

Программируем под Android Hello, World! 1. Программируем под Android Hello, World! КУРЕНКОВ ВЛАДИМИР НИТУ МИСИС 2. Что такое Android? Android («Андро ид») операционная система для смартфонов, планшетных компьютеров, электронных книг, цифровых

Подробнее

Компиляция и сборка MPI- и OpenMPпрограмм

Компиляция и сборка MPI- и OpenMPпрограмм Компиляция и сборка MPI- и OpenMPпрограмм на кластере ПРИМЕЧАНИЕ: все необходимые программы можно скачать с внутреннего университетского ftp-сервера НОЦ ПиРВ ПГНИУ по адресу ftp://parallel.psu.ru/public/soft

Подробнее

КОМПИЛЯТОРЫ. КОМПИЛЯЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ В ОС FreeBSD

КОМПИЛЯТОРЫ. КОМПИЛЯЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ В ОС FreeBSD МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ

Подробнее

OpenMP: Краткий обзор. Киреев Сергей ИВМиМГ СО РАН

OpenMP: Краткий обзор. Киреев Сергей ИВМиМГ СО РАН OpenMP: Краткий обзор Киреев Сергей ИВМиМГ СО РАН Процессы и потоки Процесс это среда выполнения задачи (программы). Процесс создаётся ОС и содержит информацию о программных ресурсах и текущем состоянии

Подробнее

Простейшая программа Hello, world!

Простейшая программа Hello, world! Простейшая программа Hello, world! // System.out.println("Привет, мир!"); Обязательные требования: 1) Имя файла, содержащего код программы, должно совпадать с именем класса 2) Файл должен иметь расширение.java

Подробнее

Язык программирования Си

Язык программирования Си Язык программирования Си Бикулов Д.А., Иваницкая Н.В., Иванов А.П. Семинар 4. Функции, передача параметров по значению. Рекурсия. Глобальные и статические переменные, правила видимости переменных. Модульный

Подробнее

Лабораторная работа 4 Обработка статических массивов

Лабораторная работа 4 Обработка статических массивов Лабораторная работа 4 Обработка статических массивов 1. ЦЕЛЬ РАБОТЫ: приобретение практических навыков в составлении программ с массивами. 2. ОСНОВНЫЕ СВЕДЕНИЯ Массивы - структурированный тип данных с

Подробнее

ГЛАВА 3. Лексические анализаторы. Лексические анализаторы

ГЛАВА 3. Лексические анализаторы. Лексические анализаторы ГЛАВА 3. Лексические анализаторы ГЛАВА 3 Лексические анализаторы Лексические анализаторы (сканеры). Принципы построения сканеров Назначение лексического анализатора Прежде чем перейти к рассмотрению лексических

Подробнее

Глава 1. Первый проект

Глава 1. Первый проект Глава 1. Первый проект Данный документ представляет собой вольный перевод книги "Programming 16-Bit PIC Microcontrollers in C. Learning to Fly the PIC24" (Lucio Di Jasio, 2007). В процессе перевода мы

Подробнее

Лекции по курсу Алгоритмы и алгоритмические языки, 1 курс, 1 поток, 2010/2011 уч.год.

Лекции по курсу Алгоритмы и алгоритмические языки, 1 курс, 1 поток, 2010/2011 уч.год. Лекция 11 Сортировка 11.1. Сортировка. Постановка задачи. 11.1.1. Сортировка это упорядочение наборов однотипных данных, для которых определено отношение линейного порядка (например,

Подробнее

Программирование PYTHON. Урок 1

Программирование PYTHON. Урок 1 Программирование PYTHON Урок 1 2 Темы урока Основы программирования Python Введение. Установка и тестирование среды разработки Python Переменные и выражения. Типы данных Оператор вывода Арифметика на языке

Подробнее

Языки программирования и методы трансляции 2001 М.Л. Цымблер. Языки программирования. Содержание. Содержание

Языки программирования и методы трансляции 2001 М.Л. Цымблер. Языки программирования. Содержание. Содержание Языки программирования и методы трансляции Презентация к лабораторной работе Интегрированная оболочка Turbo Pascal 2 Внешний вид оболочки Строка меню (вход F10) Рабочая область Строка подсказки 3 4 Меню

Подробнее

ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Разработчик Юн Ф.А., канд. тех. наук. Рецензент Артюшенко В.М., д-р тех. наук, проф. I Организационно-методический раздел 1 Цель дисциплины Цель дисциплины

Подробнее

Содержание. Благодарности 21 Об авторе 23 Ждем ваших отзывов! 24

Содержание. Благодарности 21 Об авторе 23 Ждем ваших отзывов! 24 Содержание Предисловие 15 Причины для изучения C++ 15 Причины для чтения данной книги 16 Красавица и чудовище 16 Языки в науке и технике 18 Соглашения об оформлении 19 Благодарности 21 Об авторе 23 Ждем

Подробнее

Операционная система Linux и СПО

Операционная система Linux и СПО Гуляев Г.М. Операционная система Linux и СПО Занятие 5. Взаимодействие программ Курс по переобучению на использование СПО LOG O Текстовые потоки Утилиты в Unix поддерживают три стандартных текстовых потока:

Подробнее

Лекция 15. Модели программирования. Идея Флинна

Лекция 15. Модели программирования. Идея Флинна Конспекты лекций по курсу «Введение в информатику и системы программирования», 1 семестр С.А. Немнюгин, направление «Прикладные математика и физика») 1 Лекция 15 Модели программирования Идея Флинна SISD-архитектура

Подробнее

Прикладное Программное Обеспечение - бакалавры 2010/2011 Лекция Библиотеки программ

Прикладное Программное Обеспечение - бакалавры 2010/2011 Лекция Библиотеки программ Библиотеки программ С точки зрения системы программирования, библиотеки программ состоят из двух основных компонентов: файл (или множество файлов) библиотеки, содержащий объектный код, файлы описаний функций,

Подробнее