Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Подгрузить код в программу из файла


Автор: Enchance 27.12.2011, 21:07
У меня такая задача: в текстовом документе есть фрагмент кода на ассемблере (например, функция).  Скажите, можно ли в С++ (или в любом другом компилируемом языке программирования для Windows) сделать так, чтобы программа могла выполнить этот код, не перезапускаясь?
Если что, это я пишу свою собственную программу-эксперимент на тему нейронных сетей и искусственного интеллекта, и мне нужна такая возможность.

Автор: vol4ek 27.12.2011, 21:47
Тебе надо программа на C++ которая откомпилирует ассемблерный код и запустит его? Почему бы не запускать в MASM,FASM,TASM и прочих?
поясните  вопрос  пожалуйста.

Автор: borisbn 27.12.2011, 21:49
Цитата(Enchance @  27.12.2011,  21:07 Найти цитируемый пост)
Скажите, можно ли в С++ (или в любом другом компилируемом языке программирования для Windows) сделать так, чтобы программа могла выполнить этот код, не перезапускаясь

Делов-то... Нужно всего-лишь встроить в свою программу компилятор.

А если серьёзно - то нет. Нельзя. См. в сторону скриптовых языков

Автор: vol4ek 27.12.2011, 21:51
вызывайте ассемблерную функцию из С++ если очень надо. но это уже кастыль какой-то.

Автор: Enchance 27.12.2011, 22:13
Цитата

вызывайте ассемблерную функцию из С++ если очень надо. но это уже кастыль какой-то. 


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

Автор: vol4ek 27.12.2011, 22:21
нет конечно. котик из шрека уже написал что для этого надо. а я говорю что можно скомпоновать ассемблер и С++ вместе и запустить.

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

Автор: Artemon 27.12.2011, 22:39
Enchance, проще простого, вызываем из командной строки компилятор, соответствующий тому языку, который находится в файле и передаем в качестве параметра этот файл, в результате имеем скомпилированный модуль. Дальше просто запускаем его на выполнение.

Конечно это накладывает небольшие ограничения: нужно чтобы в файле был не просто кусок кода, а минимальный исходник рабочей программы.

Автор: Enchance 27.12.2011, 22:39
Просто есть одна мысль, которую я хочу реализовать, но не знаю, как это делается. Спасибо за ответы, буду думать, как можно решить проблему другим путем.

Автор: newbee 27.12.2011, 22:50
Цитата(Enchance @  27.12.2011,  23:39 Найти цитируемый пост)
Просто есть одна мысль, которую я хочу реализовать, но не знаю, как это делается.
Судя по ремарке вверху (про AI), ты хочешь создать колонию саморазмножающихся роботов, да? ) Смерть человекам!11

Добавлено через 1 минуту и 24 секунды
хммммм а вроде бы JIT-компиляция - это как раз то, что ты хочешь...

Автор: baldina 29.12.2011, 12:07
Цитата(Enchance @  27.12.2011,  22:39 Найти цитируемый пост)
Просто есть одна мысль, которую я хочу реализовать, но не знаю, как это делается.

Enchance если озвучите мысль, может найдется кто-то знающий как это делается.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)