Упражнение 2. Достъп до периферни устройства.

From Ilianko
Revision as of 16:37, 16 March 2011 by Anko (talk | contribs)

Цел на упражнението

Подготовка и конфигуриране на развойна среда. Достъп до хардуера в Linux.

Развойна среда

Инсталация Geany

Ubuntu repository: Буквално има хиляди програми за Ubuntu, които биха могли да отговорят на различните нужди на Ubuntu потребителите. Много от тези програми се съхраняват в софтуерни библиотеки и обикновено се наричат хранилища (Repository). Тези библиотеки улесняват инсталирането на нов софтуер на Ubuntu като се използва Интернет и същевременно се осигурява високо ниво на сигурност, тъй като всяка програма в хранилищата е старателно тествана и компилирана специално за всяка версия на Ubuntu. UBU001

Софтуерът в Ubuntu хранилищата е организиран в четири отделни области в зависимост от нивото на поддръжката предлагана от Ubuntu и в зависимост лицензионната му политика: Main – Софтуер, който официално се поддържа.ch Restricted - Софтуер, който се поддържа, но има някакви ограничения за свободната му употреба. Universe – Софтуер, който се поддържа от общността, т.е. Официално не се с Multiverse – Платен софтуер.


Задача: Да се инсталира текстовият редактор Geany.

Упътвана: За инсталиране на приложение от Ubuntu Repository, отворете Ubuntu Software Center

Ubuntu 10.10 Отваряне Софтуерен Център

Потърсете желаната програма, маркирайте я и избирате "install".

Ubuntu 10.10 Софтуерен Център


Инсталация компилатор.

:~$ sudo apt-get install build-essential

(във версия Ubuntu 10.10. компилаторът GCC е инсталиран по подразбиране)

За преобразуване на кодът от език на високо ниво (или сорс кодът - source code) в двоичен код (бинарни файлове - binaries, bin) на машинен език ще използваме GCC компилатор [GNU001]. *GNU Compiler Collection. GCC е един от най-разпространените компилатори поддържащ голям брой компютърни архитектури и различни програмни езици от високо ниво.

Работата на компилатора се състои в няколко стъпки и приключва със създаване на изпълним файл: предобработка, компилиране, асемблиране, свързване.

Компилиране Свързване Изграждане

Тези стъпки могат да се изпълняват последователно наведнъж или поетапно. Най-често се изпълняват заедно първите три стъпки, така се откриват грешки само в текущия файл и също не се налага компилиране на всички файлове, а само на тези, които се променят. Свързването се извършва отделно, така освен олесняване на процеса при проекти от много файлове, по-лесно се откриват грешки от предефиниране ...

Свързване и Компилиране

Задача Компилирайте с Geany и изпълнете програмата през терминал.

#include <stdio.h>

int main()
{
	int num1, num2;
	float sum;

	puts("enter number1");
	scanf("%d", &num1); //четене входящ информация
	puts("enter number2");
	scanf("%d", &num2); //четене входящ информация
		
	sum = num1 + num2; 
	printf("the average is %.2f \n", sum/2); //форматиран изход
	
	return 0;
}

Упътване: за да стартирате програмата през терминал, сменете текущата директория на директорията, където е записан файла и стартирайте с:

 :~$ ./filename 

Standard Input Output

Управление от конзолата

С триъгълните скоби < > може да пренасочваме стандартните I/O устройствата в терминалния прозорец.

Задача Заредете входящите данни от файл и запишете резултата във файл за програмата от предната задача. Упътване Създайте текстов файл с две числа и стартирайте програмата по-подобен начин:

:~$ ./program < data.file > result.file

Задача Стартирайте втори терминален прозорец. Стартирайте програмата в първия и пренасочете резултатите към втория. Упътване За да видите името на текущия терминал, изпълнете командата:

:~$ tty 

терминали устройства в линукс

Управление от програмата

програма за следене на клавиатурата


задача: Да се направи масив да замества стойностите връща

== xxx ==sudo apt-get install gcc

2. programa chete ot fajl

3. prenasochvane stdin stdout ... stderr

4. Chetene ot diska