Programowanie w C w konsoli UNIX/Linux

Serwery kont studenckich

ameryk.fizyka.umk.pl

tor7.fizyka.umk.pl, polon7.fizyka.umk.pl (tylko w sieci LAN, potrzebny certyfikat VPN)

Przydatne programy

putty połączenie SSH do powłoki z Windows

WinScp przesyłanie plików (protokół SCP i SSH)

MobaXterm - The complete toolbox for remote computing

Podstawowe komendy UNIX/GNU Linux

polecenie	opis	przykład
ls	listuj zawartość katalogu	ls /etc
mkdir	twórz katalog	mkdir zajecia1
cd	zmień katalog	cd zajecia1
cp	kopiuj pliki	cp hello.c kopia.c
mv	przenieś / zmień nazwę	mv hello.c nowy.c
rm	usuń pliki	rm kopia.c
pwd	bieżący katalog	pwd
logout	koniec pracy
mc	Midnight Commander

Vim - ćwiczenia

Tutorial uruchamiamy poleceniem

vimtutor

Co trzeba umieć:

tworzenie i zapisywanie pliku

kopiowanie, usuwanie, przenoszenie tekstu

wyjście z programu

edycja kilku plików jednocześnie

Ściągi Vi(m)/Emacs

Emacs podstawowe komendy (HTML, PDF)
Vim - podstawowe komendy (HTML, PDF)
Graphical vi-vim Cheat Sheet and Tutorial
Emacs Cheat Sheet

Konfiguracja Vima
Konfiguracja Emacsa

Pierwszy program

Stwórz plik hello.c za pomocą programu vim

vim hello.c

i umieść w nim poniższą treść (wciśnij i aby przejść do trybu edycji w vimie)

#include <stdio.h> int main() { printf("Hello World\n"); return 0; }

Zapisz plik (Esc - wyjście z trybu edycji, :w zapisanie pliku, :q wyjście z vima)

Kompilacja i uruchamianie

W systemie Linux kompilację programu w języku C przeprowadzamy wydając w konsoli polecenie cc i podając jako argumenty listę plików źródłowych niezbędnych do utworzenia pliku wykonywalnego.
Na przykład aby skompilować program hello.c wydajemy polecenie:

cc hello.c

Jeśli nie pojawił się żaden błąd kompilacji to program możemy uruchomić wpisując

./a.out

Domyślnie plik wykonywalny nazywa się a.out. Za pomocą opcji -o dodanej do polecenia kompilacji możemy określić nazwę pliku wykonywalnego

cc hello.c -o hello
./hello

Jeżeli program wykorzystuje funkcje z biblioteki matematycznej math.h wówczas podczas kompilacji należy dodać opcję -lm, np:

cc -lm program.c -o program