143 / 27 / 4
Регистрация: 06.05.2019
Сообщений: 1,790
Записей в блоге: 4
1

Создаётся ли копия инструкции написанной программистом?

10.09.2020, 16:41. Показов 950. Ответов 27
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Смысл в следующем. Предположим программист пишет код(разные условия там функции переменные и т.д. имеется в виду программу), далее мы её компилируем. Когда программа создаётся должна же быть копия та инструкция которую нужно выполнять, возникает вопрос в каком виде эта инструкция храниться, возможно она сохраняется в бинарном или двоичном виде, возможно только на машинном языке(на машинном языке такая инструкция есть потому что раз программа существует и выполняется значит есть инструкция), потому что смысла хранить ваш исходник как копию программе нет или всё же сохраняется предварительно и копия инструкции программиста.
Так вот и хотел бы узнать в каком виде хранятся инструкции и сколько этих копий?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.09.2020, 16:41
Ответы с готовыми решениями:

Не создается резервная копия на Python
Задача: Составить программу, которая создаёт резервные копии всех наших важных файлов. (Книга "A...

Не Сохраняется Документ. Создается Лишняя Копия.
Помогите решить проблему. Есть агент, который создает документ копированием. После заполнения...

Создается ли копия объекта при индексации вектора?
for (size_t i = 0, n = v.size(); i < n; ++i) { //элементы вектора - string string &s = v; // тут...

Что такое блоки и инструкции, вложенные инструкции и главные инструкции?
Что это такое?

27
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
10.09.2020, 16:48 2
Цитата Сообщение от Nexi99 Посмотреть сообщение
Так вот и хотел бы узнать в каком виде хранятся инструкции и сколько этих копий?
Инструкции "хранятся" в виде машинных кодов. Ничего не копируется.
0
143 / 27 / 4
Регистрация: 06.05.2019
Сообщений: 1,790
Записей в блоге: 4
10.09.2020, 16:50  [ТС] 3
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Инструкции "хранятся" в виде машинных кодов. Ничего не копируется.
Понятно. Значит есть только одна инструкция/копия и храниться она на машинном языке. Вопрос как говориться исчерпан.
0
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
10.09.2020, 17:03 4
Цитата Сообщение от Nexi99 Посмотреть сообщение
или всё же сохраняется предварительно и копия инструкции программиста.
Так вот и хотел бы узнать в каком виде хранятся инструкции и сколько этих копий?
это сильно зависит от языка и от задействованных технологий.

например, компиляторы могут добавлять в итоговый бинарник так называемые "отладочные символы",
которые хранят информацию об исходном коде.

но это всё - опционально, для каких то особых нужд разработки.
процессору для работы нужны только машинные коды.
0
Модератор
2121 / 991 / 169
Регистрация: 23.07.2018
Сообщений: 3,326
Записей в блоге: 3
10.09.2020, 17:39 5
В частности, в процессе сборки программы может выясниться, что для правильного выполнения кода, который написал программист, вообще никакие инструкции не нужны.
0
143 / 27 / 4
Регистрация: 06.05.2019
Сообщений: 1,790
Записей в блоге: 4
10.09.2020, 18:05  [ТС] 6
Цитата Сообщение от politoto Посмотреть сообщение
В частности, в процессе сборки программы может выясниться, что для правильного выполнения кода, который написал программист, вообще никакие инструкции не нужны.
Бывает и такое напишешь некорректно и при сборки эти инструкции выкидаются но как я смотрю обычно наоборот увеличиваются на машинном языке а также собирается и то что не нужно найти строгие критерии того что нужно и не нужно тоже довольно сложно.
0
Модератор
2121 / 991 / 169
Регистрация: 23.07.2018
Сообщений: 3,326
Записей в блоге: 3
10.09.2020, 19:21 7
А как Вы смотрите, если не секрет?
0
76 / 68 / 10
Регистрация: 11.07.2016
Сообщений: 320
10.09.2020, 20:56 8
Nexi99, если тебе нужен минимального размера экзешник для имеющегося кода, компилируй с оптимизацией по размеру. Ты на студии, емнип, там в настройках проекта есть пункт.
0
143 / 27 / 4
Регистрация: 06.05.2019
Сообщений: 1,790
Записей в блоге: 4
10.09.2020, 21:02  [ТС] 9
Цитата Сообщение от Zirak Посмотреть сообщение
Nexi99, если тебе нужен минимального размера экзешник для имеющегося кода, компилируй с оптимизацией по размеру. Ты на студии, емнип, там в настройках проекта есть пункт.
Я хотел этот собственный код прочитать чтобы оптимизировать расчёты, но как выяснилось перед компиляцией выполнять никакие процедуры нельзя а если извлечь код из машинного языка это тоже дорого и нерентабельно, а тягать с собой исходник как-то не серьёзно, честно говоря этот с++ у меня уже в печёнках сидит, ну да ладно.
0
76 / 68 / 10
Регистрация: 11.07.2016
Сообщений: 320
10.09.2020, 21:06 10
Не очень понимаю проблему. Если ты хочешь оптимизировать расчёты, для начала ты должен понимать, что ты хочешь оптимизировать, и нужно ли вообще это оптимизировать. Используй профилировщик, ищи узкое место, если что-то не устраивает - смотри что можно сделать.

Цитата Сообщение от Nexi99 Посмотреть сообщение
Я хотел этот собственный код прочитать чтобы оптимизировать расчёты
Прям машинный код собрался оптимизировать?
0
2782 / 1935 / 570
Регистрация: 05.06.2014
Сообщений: 5,600
10.09.2020, 21:14 11
Цитата Сообщение от Nexi99 Посмотреть сообщение
Я хотел этот собственный код прочитать чтобы оптимизировать расчёты
Имея строго нулевые познания в ассемблере, да?
0
143 / 27 / 4
Регистрация: 06.05.2019
Сообщений: 1,790
Записей в блоге: 4
10.09.2020, 21:16  [ТС] 12
Цитата Сообщение от Zirak Посмотреть сообщение
Прям машинный код собрался оптимизировать?
Не, я просто хотел его прочитать, оптимизировать машинной код на данном уровне знаний не могу кишка тонка.
Цитата Сообщение от Zirak Посмотреть сообщение
Не очень понимаю проблему. Если ты хочешь оптимизировать расчёты, для начала ты должен понимать, что ты хочешь оптимизировать, и нужно ли вообще это оптимизировать. Используй профилировщик, ищи узкое место, если что-то не устраивает - смотри что можно сделать.
Я хочу сделать собственный typeid потому что то что предлагается в станд. библиотеках очень слабенький видит только первый уровень, я хотел бы просмотреть текст программы и например определить тип имя и делать всякие такие штуки.
0
2782 / 1935 / 570
Регистрация: 05.06.2014
Сообщений: 5,600
10.09.2020, 21:18 13
Цитата Сообщение от Nexi99 Посмотреть сообщение
Я хочу сделать собственный typeid потому что то что предлагается в станд. библиотеках очень слабенький видит только первый уровень, я хотел бы просмотреть текст программы и например определить тип имя и делать всякие такие штуки.
Там будет код на ассемблере. В ассемблере нет ни typeid, ни типов как таковых.
0
143 / 27 / 4
Регистрация: 06.05.2019
Сообщений: 1,790
Записей в блоге: 4
10.09.2020, 21:27  [ТС] 14
Цитата Сообщение от Renji Посмотреть сообщение
Там будет код на ассемблере. В ассемблере нет ни typeid, ни типов как таковых.
Я имею в виду на стадии компиляции, typeid же именно тогда и работает.
0
1352 / 851 / 365
Регистрация: 26.02.2015
Сообщений: 3,799
10.09.2020, 21:29 15
Цитата Сообщение от Nexi99 Посмотреть сообщение
Я хочу сделать собственный typeid
А ты уже собственный цикл сделал?
Как самому создать цикл, который будет работать по моей технологии
0
76 / 68 / 10
Регистрация: 11.07.2016
Сообщений: 320
10.09.2020, 21:32 16
Цитата Сообщение от Nexi99 Посмотреть сообщение
Не, я просто хотел его прочитать
Чтение в бинарном режиме доступно средствами стандартной библиотеки.

Цитата Сообщение от Nexi99 Посмотреть сообщение
видит только первый уровень
Первый уровень чего?
0
143 / 27 / 4
Регистрация: 06.05.2019
Сообщений: 1,790
Записей в блоге: 4
10.09.2020, 21:32  [ТС] 17
Цитата Сообщение от Nishen Посмотреть сообщение
А ты уже собственный цикл сделал?
я этим буду заниматься с конца осени, сейчас август сентябрь октябрь не очень хорошее время чтобы дать объём по коду, но ближе к зиме я доделаю эти рекурсии списки т.к. специфика мне понятна.
0
2782 / 1935 / 570
Регистрация: 05.06.2014
Сообщений: 5,600
10.09.2020, 21:33 18
Цитата Сообщение от Nexi99 Посмотреть сообщение
Я имею в виду на стадии компиляции, typeid же именно тогда и работает.
Неа.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Parent
{
public:
    virtual~Parent(){}
};
 
class Child:public Parent
{
public:
    int x;
};
 
int main()
{
    Child child;
    Parent*parent=&child;//указатель на предка
    std::cout<<typeid (*parent).name()<<std::endl;//но typeid видит потомка
    return 0;
}
0
143 / 27 / 4
Регистрация: 06.05.2019
Сообщений: 1,790
Записей в блоге: 4
10.09.2020, 21:37  [ТС] 19
Цитата Сообщение от Renji Посмотреть сообщение
Неа.
Значит он срабатывает не на стадии компиляции, мне дали ответ такой, ну опять же это всё нужно доказывать опытом?

Добавлено через 1 минуту
Цитата Сообщение от Renji Посмотреть сообщение
Неа.
Значит он срабатывает не на стадии компиляции, мне дали ответ такой, ну опять же это всё нужно доказывать опытом? Ну классы он видит а я ими не занимаюсь я не вижу в них пользы ставить точку искать метод бред какой-то я могу и без классов что угодно собрать.
0
1352 / 851 / 365
Регистрация: 26.02.2015
Сообщений: 3,799
10.09.2020, 21:38 20
Цитата Сообщение от Nexi99 Посмотреть сообщение
я могу и без классов что угодно собрать
Почему тогда выбор пол на C++? Почему не спуститься на уровень C?
0
10.09.2020, 21:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.09.2020, 21:38
Помогаю со студенческими работами здесь

Создаётся ли копия при инициализации new Function() и как сильно она нагружает процессор и память ?
Всем привет ! собственно сабж , но для более точного понятия попробую описать от А до Я хотя у...

почему в массиве str хранятся значения str2, ведь в функции создается копия...разве нет?
почему в массиве str хранятся значения str2, ведь в функции создается копия...разве нет?..)...

Подготовить bat-файл, при выполнении которого в текущем каталоге создается его копия под новым именем
Подготовить bat-файл, при выполнении которого в текущем каталоге создается его копия под новым...

Стоит ли в 30 лет становиться программистом .Net программистом?
Всем добрый день. Два года уже учу си шарп. До сих пор не могу устроиться на работу, 4 раза...

Вызов программой, написанной на С++, функции из dll, написанной на Assembler (явное подключение dll)
Доброго времени суток!Задали лабораторную работу: программа, написанная на с++ должна подключать...

Как возможно выйти в инструкции switch в начало самой инструкции при нажатии "не правильной" кнопки
В целом у меня вопрос такой: Как возможно выйти в инструкции switch в начало самой инструкции при...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru