Лекции 2, 3 11 сентября 2015 г. main. cpp ex1. cpp ex2. cpp … exN. cpp Делает преобразования кода на лексическом (текстовом) уровне. препроцессор Транслирует код с языка C/C++ в машинный код, сохраняя результат трансляции в объектных файлах. компилятор внешние статические библиотеки win. lib stdio. lib … math. lib main. obj ex1. obj ex2. obj … exN. obj Собирает результирующий файл из множества объектных и (возможно) внешних библиотек. компоновщик (редактор связей) ИЛИ ИЛИ main. exe main. lib main. dll исполнимый файл статическая библиотека динамическая библиотека main. cpp ex1. cpp ex2. cpp … exN. cpp Делает преобразования кода на лексическом (текстовом) уровне. препроцессор Транслирует код с языка C/C++ в машинный код, сохраняя результат трансляции в объектных файлах. компилятор внешние статические библиотеки win. lib stdio. lib … math. lib main. obj ex1. obj ex2. obj … exN. obj Собирает результирующий файл из множества объектных и (возможно) внешних библиотек. компоновщик (редактор связей) ИЛИ ИЛИ main. exe main. lib main. dll исполнимый файл статическая библиотека динамическая библиотека factorial.cpp int factorial(int n){ компилятор if (n < 0){ return 0; } if (n <= 1) {return n; } return n * factorial(n - 1); } factorial.obj int factorial(int n); mylib.lib компоновщик bool prime(int n); prime.cpp bool prime(int n){ int i = 2; while (i < n){ if (n % i == 0) return 0; i = i + 1; } return true; } int factorial(int n); prime.obj компилятор bool prime(int n); main.exe main.cpp int main(){ int a = factorial(5); cout << a << endl; return true; } main.obj компилятор компоновщик int main(); int factorial(); int main(); int factorial(int n); factorial.cpp int factorial(int n){ компилятор if (n < 0){ return 0; } if (n <= 1) {return n; } return n * factorial(n - 1); } factorial.obj int factorial(int n); mylib.lib компоновщик bool prime(int n); prime.cpp bool prime(int n){ int i = 2; while (i < n){ if (n % i == 0) return 0; i = i + 1; } return true; } int factorial(int n); prime.obj компилятор bool prime(int n); main.exe main.cpp int main(){ int a = factorial(5); cout << a << endl; int b = prime(7); cout << b << endl; return true; } main.obj компилятор компоновщик int main(); int factorial(); bool prime(); int main(); int factorial(int n); bool prime(); factorial.cpp int factorial(int n){ компилятор if (n < 0){ return 0; } if (n <= 1) {return n; } return n * factorial(n - 1); } factorial.obj int factorial(int n); mylib.dll компоновщик bool prime(int n); prime.cpp bool prime(int n){ int i = 2; while (i < n){ if (n % i == 0) return 0; i = i + 1; } return true; } prime.obj компилятор main.cpp int main(){ int a = factorial(5); cout << a << endl; int b = prime(7); cout << b << endl; return true; } int factorial(int n); bool prime(int n); main.exe main.obj компилятор компоновщик int main(); int main(); int factorial(); int factorial(); bool prime(); bool prime(); main. cpp ex1. cpp ex2. cpp … exN. cpp Делает преобразования кода на лексическом (текстовом) уровне. препроцессор Транслирует код с языка C/C++ в машинный код, сохраняя результат трансляции в объектных файлах. компилятор внешние статические библиотеки win. lib stdio. lib … math. lib main. obj ex1. obj ex2. obj … exN. obj Собирает результирующий файл из множества объектных и (возможно) внешних библиотек. компоновщик (редактор связей) ИЛИ ИЛИ main. exe main. lib main. dll исполнимый файл статическая библиотека динамическая библиотека