Posts Tagged ‘assembler’

Optymalizacja w gcc

O niekorzystnych efektach stosowania optymalizacji na błędnym kodzie już kiedyś było. A teraz będzie jeszcze raz bo znalazłem kolejny ciekawy przykład. Znalazłem go na tej stronie przy okazji szukania materiałów o sygnałach w Linuksie. Kod po minimalnej zmianie wygląda tak: Read more

Pisanie systemu UNIX’owego

Znalazłem ostatnio w sieci bardzo dobry tutorial pisania systemu UNIX’owego. Nie wyjaśnia on wszystkiego i nie wdaje się zbytnio we wszystkie szczegóły, ale daje świetny obraz tego jak cały proces wygląda, co właściwie system robi “tam pod spodem”, i jest punktem wyjścia do dalszego zdobywania wiedzy.

Całość dostępna jest tutaj.

GCC, optymalizacja i nagłówki

Pisałem już kiedyś o optymalizacji, w tym również o GCC. W pliku do którego podałem link było bardzo dużo przykładów “magii” jakiej GCC dokonuje optymalizując kod. Tym razem opiszę nie do końca pożądane działanie kompilatora na które warto zwrócić uwagę. Read more

Budowa plików ELF

Bardzo polecam wszystkim zainteresowanym kompilacją, programowaniem w C i assemblerze, oraz ogólnie dłubaniem niskopoziomowym przeczytanie artykułu właśnie na ten temat – część 1 i część 2. Autor analizuje w nim i objaśnia budowę pliku wykonywalnego i jego poszczególne sekcje.

Warto mieć choć trochę wiedzy z dziedziny programowania w assemblerze, choć wyjaśnienia są na tyle jasne, że bez niej też można sporo zrozumieć i się nauczyć.

Tutaj można znaleźć bardzo podobny artykuł, jednak znacznie dłuższy i trochę bardziej techniczny. A po przeczytaniu można “popodziwiać” programy autora: Tiny Programs.

Jeszcze jedna próba stworzenia “czegoś małego”: Smallest x86 ELF Hello World

Kompilatory i optymalizacja

Kilka dni temu znajomy przysłał mi adres do strony z materiałami z prezentacji Felix’a von Leitner pt. “State of the art C compiler optimization tricks” która miała miejsce podczas Linux Kongress 2009. Jak po tytule łatwo stwierdzić prezentacja mówi o kompilatorach i optymalizacji. Składa się głównie z króciutkich (acz podchwytliwych dla optymalizatora) kodów w C i ich assemblerowych wersji wygenerowanych przez kilka najpopularniejszych kompilatorów – GNU GCC, Intel C Compiler, Sun C Compiler, Microsoft Visual C Compiler i LLVM. Read more

Return top

Creative Commons License
Ten utwór jest dostępny na licencji Creative Commons Uznanie autorstwa-Na tych samych warunkach 3.0 Polska