Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Aligator_grin
0 / 0 / 0
Регистрация: 27.05.2012
Сообщений: 5
#1

Шаг компиляции, шаг компоновки, и шаг запуска - C++

27.05.2012, 13:47. Просмотров 825. Ответов 3
Метки нет (Все метки)

Что происходит на шаге компиляции, шаге компоновки, и шаге запуска, с переменными и функциями.
что происходит при встрече в коде объявления переменной и при встрече с ее инициализацией
например:
C++
1
2
int a;  //объявление
a=10;  // инициализация
Что происходит при встрече в коде объявления функции, ее вызова и ее реализации.
например:
C++
1
2
3
4
5
6
7
8
9
int a (); //объявление
 
int a()  // реализация
{ return 1; }
 
void main()
{
a();  // вызов
}
Хотелось бы чтобы было подробное объяснение по каждому из 3 шагов

Объяснения типа сначала из .cpp файла превращается в .obj а потом в .exe не интересуют
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2012, 13:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шаг компиляции, шаг компоновки, и шаг запуска (C++):

Шаг младенца, шаг великана Трудоемкость - C++
Помогите реализовать данную функцию с трудоемкостью (√P×logP). Как делать именно поиск равных шагов, не сравнивая оба массива. ...

Шаг в 0,5 - C++
Вычислить значение функции y={x}^{5}-\sqrt{x} При 0 \leq X \leq 5 c шагом в 0,5 Т.е. x 0 0.5 ...

Изменить шаг - C++
#include <iostream> #include <conio.h> int main() { for (int i=100;i<=200;i++) {std::cout<<i<<'\n'; ...

Шаг конем - C++
просьба . помогите . ну вот я должен написать код обход коня по всей доске ,программа находит первую точку коня и его первые возможные...

следующий шаг - C++
нужен совет заканчиваю изучать 1-ю книгу по С++ Дайтела Какие лучше книги дальше изучать, по: STL, MFC, OpenGL, Win 32 API, или что-то...

Как изменить шаг на 2? - C++
#include <iostream> #include <ctime> int main() { clock_t t = clock(); { std::size_t size = 1000; ...

3
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,598
Записей в блоге: 12
27.05.2012, 13:57 #2
Объявления - компилятор записывает что "a" это гдето [ebp-4] или другое число вместо четырёх
а=10 это
mov eax,10
mov [ebp-кокоето порядковое число зависит от порядка распределения переменных] , eax
return 1 насчёт СИ не знаю а вот в случае с stdcall
это
mov eax,1
retn

a() вызов это
// вот тут может находится куча пушей, так как Push a+ 5/d неприемлемо то следует куча операций по записи в eax конечного результата а потом идёт push eax
call a


int a() - смотри через отладчик борланд строитель 6
0
Aligator_grin
0 / 0 / 0
Регистрация: 27.05.2012
Сообщений: 5
27.05.2012, 14:06  [ТС] #3
Вопрос не в том в какой машинный код все это переводится.
Это вопросы для зашиты лабораторной работы.
Суть ответа сводится к тому что нада сказать где и когда отводится место под переменные и функции в памяти когда проставляются адреса переменных и функций, когда получают значения переменных и функций. Что на каком этапе происходит, если функция объявлена в другом модуле.
Нужен точный ответ по знанию основ.
Ни в одной книге этого не описано
0
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,598
Записей в блоге: 12
27.05.2012, 14:09 #4
Цитата Сообщение от Aligator_grin Посмотреть сообщение
Суть ответа сводится к тому что нада сказать где и когда отводится место под переменные и функции в памяти когда проставляются адреса переменных и функций, когда получают значения переменных и функций. Что на каком этапе происходит, если функция объявлена в другом модуле.
я так думаю вам надо смотреть исходники компилятора
0
27.05.2012, 14:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2012, 14:09
Привет! Вот еще темы с ответами:

Вывести каждый шаг сортировки - C++
Имеется вот такой код шейкерной сортировки, необходимо, чтобы каждый шаг сортировки выводился на экран, все мои попытки не увенчались...

Описать каждый шаг в программе - C++
Помогите описать каждый шаг в программе: #include <iostream> #include <stdio.h> #include <stdlib.h> #include <conio.h> using...

Герберт Шилдт, С++ Шаг за шагом - C++
Приветствую всех! Я чайник в С++, и заказал себе книгу Герберт Шилдт, С++ Шаг за шагом. Стоило того? Будет ли понятна эта книга, если я...

первый шаг он трудный самый! - C++
Как наверное понятно из заголовка, я решил изучить С++. Скачал книгу, компилятор Dev-C++. В книге написано создать свою первую программу,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru