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.cZaś uruchamiamy w ten sposób:Kod: Zaznacz cały
gcc plik_zrodlowy.c -o plik_wynikowyKod: 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-essentialTeraz plik należy skompilować przy pomocy g++.Kod: Zaznacz cały
gedit plik_zrodlowy.cppOstatnią fazą jest uruchomienie naszego programu:Kod: Zaznacz cały
g++ plik_zrodlowy.cpp -o plik_wynikowyKod: 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 binutilsNastępnie plik asemblujemy:Kod: Zaznacz cały
gedit kod_zrodlowy.sJednak w ten sposób nie mamy jeszcze pliku wykonywalnego, choć jest już binarnyKod: Zaznacz cały
as plik_zrodlowy.s -o plik_wynikowy.o
Pozostało nam linkowanie, przy pomoc linkera ld:
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_wykonywalnyOstatecznie uruchamiamy program za pomocą polecenia:Kod: Zaznacz cały
chmod +x plik_wykonywalnyKod: 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 nasmAsemblujemy go:Kod: Zaznacz cały
gedit plik_zrodlowy.asmOraz linkujemy przy pomocy linkera ld :Kod: Zaznacz cały
nasm plik_zrodlowy.asm -f elf -o plik_wynikowy.oTak 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_wykonywalnyOraz uruchamiamy:Kod: Zaznacz cały
chmod +x plik_wykonywalnyKod: 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 .bashrcDzię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.asmNic 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.asmI uruchomimy go:Kod: Zaznacz cały
chmod +x plik_wykonywalnyKod: 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/bashUruchamiamy za pomocą polecenia:Kod: Zaznacz cały
chmod +x skrypt.shKod: 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


