Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
 Аватар для BESSON_off
3 / 0 / 0
Регистрация: 08.07.2013
Сообщений: 351

Как на физическом уровне работает компоновщик в приведенном случае

13.08.2014, 10:13. Показов 1730. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Уважаемые форумчане объясните мне, как, на физическом уровне, работает компоновщик в этом случае:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//файл Class.h
class Test {
public:
    Test();
    ~Test();
};
 
//файл Class.cpp
Test::Test() {cerr << "Test::Test()\n";}
Test::~Test() {cerr << "Test::~Test()\n";}
 
Test object;
 
//файл main.cpp
#include "Class.h
 
int main() {
cerr << "In main\n";
}
 
//Вывод:
Test::Test()
In main
Test::~Test()
Каким образом создается файл? Я ведь включаю в main.cpp файл Class.h?
По каким правилам это происходит?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.08.2014, 10:13
Ответы с готовыми решениями:

Как работает процессор на физическом уровне?
Всем привет. Понимаю, что процессор состоит из колоссального количества транзисторов, имеющих ничтожно малые размеры измеряемые...

Как происходит изъятие данных с жёсткого диска на физическом уровне?
И как взаимодействует с др устройствами?

Работа с диском на физическом уровне
Что есть для windows, наподобии dos'овской diskEdit? А если еще и документация есть на русском, то ето уже былобы суперкруто!

4
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
13.08.2014, 10:21
Цитата Сообщение от BESSON_off Посмотреть сообщение
Каким образом создается файл?
Какой файл?
Цитата Сообщение от BESSON_off Посмотреть сообщение
Я ведь включаю в main.cpp файл Class.h?
Да. А в чем конкретно тут вопрос?
0
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,238
13.08.2014, 10:41
#include просто включает текст h файла в компилируемый файл.
Вопрос, думаю, не о компоновке, а о последовательности исполнения.
В данном случае порядок такой:

1. Создание глобального объекта object
2. Выполнение кода функции main
3. Удаление глобального объекта object

Кстати, чтобы увидеть переменную object в main, нужно добавить в h файл ее объявление
C++
1
extern Test object;
1
 Аватар для BESSON_off
3 / 0 / 0
Регистрация: 08.07.2013
Сообщений: 351
13.08.2014, 13:42  [ТС]
Разобрался.
Вопрос бы в том, каким образом определяются в программе разные единицы трансляции.
0
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,238
13.08.2014, 15:02
каждый подключенный к проекту cpp файл является отдельной единицей трансляции.
Когда они все откомпилированы, то компоновщик выполняет сборку начиная с int main()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.08.2014, 15:02
Помогаю со студенческими работами здесь

Помогите разобраться с SDIO на физическом уровне.
Здравствуйте. Помогите разобраться с SDIO. Ни для кого не секрет, что сейчас полно информации о том, как прикрутить SD карту к аппаратному...

Что такое множитель процессора на физическом уровне?
Что это множитель, который при умножении на частоту шины (собственную частоту процессора) даёт текущую частоту проца - это я знаю. А на...

Помогало вам составлять оптимально код на ассемблере, зная на физическом уровне устройство процессора?
при условии что есть абстрактный уровень представления работы эвм для каждого компилятора, а на физическом уровне учитывая физ. логику,...

Vaio SR525G - usb порты перестали корректно! работать на физическом уровне, после дребезга подключения ифона
Причина ясна из заголовка. Вин 10 на все усб подключения пишет, что последнее подключенное устройство работает неправильно и Винда не...

Какова роль логической переменной в приведенном случае
Роль логической переменной в данном случае. Program Symbol; Var A: string; n, i: integer; f:boolean; Begin ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru