Tutaj są informacje jakie potrzebujesz pakiety oraz czynności które musisz wykonać aby stworzyć swój program lub skrypt.
Najpierw uwagi ogólne:
- Edytor tekstowy jest zupełnie dowolny.
- Nazwy kodów źródłowych i innych plików są dowolne, chyba że powiedziano inaczej, najważniejsze są odpowiednie rozszerzenia, nazwy zależą wyłącznie od Ciebie
- Zakładam, że wszystko wykonujesz w katalogu bierzącym, tzn jeśli tworzysz wszystko w /home/mojlogin to w tym samym folderze wywołujesz polecenia z konsoli.
- Język C
Przede wszystkim musisz zainstalować pakiet build-essentialJest to tzw "metapaczka", czyli pakiet ściągający i instalujący inne pakiety wraz z ich zależnościamiKod: Zaznacz cały
sudo apt-get install build-essential
Po zakończonej operacji tworzysz plik źródłowy w C, w dowolnym edytorze tekstowym lub zintegrowanym środowisku programistycznym (IDE)
W naszym przykładzie będzie to edytor GeditNastępnie kompilujemy go poleceniem:Kod: Zaznacz cały
gedit plik_zrodlowy.c
Zaś uruchamiamy w ten sposób:Kod: Zaznacz cały
gcc plik_zrodlowy.c -o plik_wynikowy
Kod: Zaznacz cały
./plik_wynikowy
- Język C++
Podobnie jak w przypadku języka C musisz zaistalować metapakiet build-essential:Następnie tworzysz plik źródłowy z rozszerzeniem *.cpp. Niech edytorem będzie Gedit.Kod: Zaznacz cały
sudo apt-get install build-essential
Teraz plik należy skompilować przy pomocy g++.Kod: Zaznacz cały
gedit plik_zrodlowy.cpp
Ostatnią fazą jest uruchomienie naszego programu:Kod: Zaznacz cały
g++ plik_zrodlowy.cpp -o plik_wynikowy
Kod: Zaznacz cały
./plik_wynikowy
- Asembler (GNU Assembler - GAS)
W tym przypadku potrzebujemy pakietu binutils, który zawiera zarówno asemblera jak i linker.
Instalujemy go poleceniem:Tworzymy kod źródłowy o rozszerzeniu *.s dowolnym edytorem, naturalnie przykładowo używając Gedita.Kod: Zaznacz cały
sudo apt-get install binutils
Następnie plik asemblujemy:Kod: Zaznacz cały
gedit kod_zrodlowy.s
Jednak w ten sposób nie mamy jeszcze pliku wykonywalnego, choć jest już binarny Pozostało nam linkowanie, przy pomoc linkera ld:Kod: Zaznacz cały
as plik_zrodlowy.s -o plik_wynikowy.o
Prawdopodobnie stworzony program nie będzie miał atrybutu "wykonywalności" zatem nadajemy mu go przy pomocy polecenia chmod:Kod: Zaznacz cały
ld plik_wynikowy.o -o plik_wykonywalny
Ostatecznie uruchamiamy program za pomocą polecenia:Kod: Zaznacz cały
chmod +x plik_wykonywalny
Kod: Zaznacz cały
./plik_wykonywalny
- Asembler (NASM)
Najpierw potrzebujemy oczywiście samego asemblera. Należy ściągnąć pakiet o nazwie nasm:Tworzymy plik źródłowy:Kod: Zaznacz cały
sudo apt-get install nasm
Asemblujemy go:Kod: Zaznacz cały
gedit plik_zrodlowy.asm
Oraz linkujemy przy pomocy linkera ld :Kod: Zaznacz cały
nasm plik_zrodlowy.asm -f elf -o plik_wynikowy.o
Tak jak w przypadku GASa jeśli plik nie będzie miał atrybutu wykonywalności nadajemy mu go przy pomocy polecenia chmod:Kod: Zaznacz cały
ld plik_wynikowy.o -o plik_wykonywalny
Oraz uruchamiamy:Kod: Zaznacz cały
chmod +x plik_wykonywalny
Kod: Zaznacz cały
./plik_wykonywalny
- Asembler (FASM)
Tutej jest pewne ułatwienie ale i utrudnienie. Nie ma obecnie paczki z FASMem dla Ubuntu, jednak można go spokojnie ściągnąć z strony autora.
W tym celu użyjemy programu wget:Utworzymy katalog .fasm w naszym katalogu domowy. Zwróć uwagę na kropkę na początku nazwy. Tak, katalog będzie niewidoczny,Kod: Zaznacz cały
wget http://flatassembler.net/fasm-1.67.27.tgz
jak zresztą inne foldery z plikami konfiguracyjnymi programów Tutaj już nie będziesz się męczyć z linią poleceń, skorzystamy z dobrodziejstw naszego środowiska graficznego .
Tworzymy katalog:Używając naszego menadżera archiwów jak Ark lub File-Roller rozpakowujemy zawartość katalogu fasmKod: Zaznacz cały
/home/mojlogin/.fasm/
do naszego świeżo utworzonego folderu. Następnie dowolnym edytorem tekstowym otwieramy plik .bashrc będąc w katalogu domowym:Dodajemy na samym dole:Kod: Zaznacz cały
gedit .bashrc
Dzięki temu będziemy mieli dostęp do FASMa z linii poleceń. Teraz łatwiejsza część, bowiem FASM nie potrzebuje zewnętrznego linkera,Kod: Zaznacz cały
alias fasm="/home/mojlogin/.fasm/fasm"
nie korzysta ani z ld bowiem posiada własny (ułatwienie o którym wspomniałem). Tworzymy plik źródłowy:A następnie go asemblujemy:Kod: Zaznacz cały
gedit plik_zrodlowy.asm
Nic więcej, FASM sam utworzy odpowiednie pliki. Jeśli jednak plik wykonywalny nie będzie miał atrybutu wykonywalności użyjemy chmod:Kod: Zaznacz cały
fasm plik_zrodlowy.asm
I uruchomimy go:Kod: Zaznacz cały
chmod +x plik_wykonywalny
Kod: Zaznacz cały
./plik_wykonywalny
- Bash
Co prawda bash nie jest językiem programowania, ale krótkie wprowadzenie nikogo nie zabije. Domyślnie w Ubuntu oczywiście jest już interpreter poleceń, zatem każdy skrypt musi zaczynać się od linijki:Wypadałoby, aby skrypt miał rozszerzenie *.sh choć nie jest to zasadą, po prostu konwencja. Aby skrypt był traktowany jako plik wykonywalny, a nie zwykły, tekstowy, należy nadać mu odpowiednie uprawnienia (oczywiście przy pomocy chmod).Kod: Zaznacz cały
#!/bin/bash
Uruchamiamy za pomocą polecenia:Kod: Zaznacz cały
chmod +x skrypt.sh
Kod: Zaznacz cały
./skrypt.sh
1.Mam prośbę do moderatorów. Czy ten wątek może być przyklejony tutaj ? Nie w dziale FAQ & How-To, tylko właśnie w dziale programowanie. Każdy "w potrzebie" będzie zaglądał najpierw tutaj, potem dopiero do działu z gotowymi solucjami.
2. W tym wątku zgłaszajcie sugestie oraz gotowe rozwiązania. Będę je dodawał do powyższej listy. Przykładowo fajnie by było napisać coś o Pythonie (ja osobiście nie znam się na nim ). Oczywiście moderacja ma prawo do dowolnej edycji tego pseudo-poradnika Uznajmy obecną wersję za beta.