Новости Apple, App Store, iTunes, приложения, технологии и современный цифровой образ жизни.

Тернистый путь Hello World

Тернистый путь Hello World
Вдохновение на написание данной статьи было получено после прочтения похожей публикации для архитектуры x86 [1]. Данный материал поможет тем, кто хочет понять, как устроены программы изнутри, что происходит до входа в main и для чего всё это делается. Также я покажу как можно использовать некоторые особенности библиотеки glibc. И в конце, как и в оригинальной статье [1] будет визуально представлен пройденный путь. В большинстве своём статья представляет собой разбор библиотеки glibc. Итак, начнём наш поход. Будем использовать Linux x86-64, а в качестве инструмента отладки — lldb. Также иногда будем дизассемблировать программу при помощи objdump. Исходным текстом будет обычный Hello, world ( hello.cpp ): #include int main() { std::cout << "Hello, world!" << std::endl; } Читать дальше →
Читать далее...