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

  • Comments Off on Optymalizacja w gcc

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.

  • Comments Off on Pisanie systemu UNIX’owego

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

  • Comments Off on GCC, optymalizacja i nagłówki

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

  • Comments Off on Kompilatory i optymalizacja