Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подгрузить код в программу из файла, магия 
:(
    Опции темы
Enchance
Дата 27.12.2011, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 20.10.2009

Репутация: нет
Всего: нет



У меня такая задача: в текстовом документе есть фрагмент кода на ассемблере (например, функция).  Скажите, можно ли в С++ (или в любом другом компилируемом языке программирования для Windows) сделать так, чтобы программа могла выполнить этот код, не перезапускаясь?
Если что, это я пишу свою собственную программу-эксперимент на тему нейронных сетей и искусственного интеллекта, и мне нужна такая возможность.
PM MAIL   Вверх
vol4ek
Дата 27.12.2011, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


конь в пальто
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 1.5.2011
Где: Минск

Репутация: нет
Всего: 0



Тебе надо программа на C++ которая откомпилирует ассемблерный код и запустит его? Почему бы не запускать в MASM,FASM,TASM и прочих?
поясните  вопрос  пожалуйста.
PM MAIL ICQ   Вверх
borisbn
Дата 27.12.2011, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



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

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

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


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
vol4ek
Дата 27.12.2011, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


конь в пальто
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 1.5.2011
Где: Минск

Репутация: нет
Всего: 0



вызывайте ассемблерную функцию из С++ если очень надо. но это уже кастыль какой-то.
PM MAIL ICQ   Вверх
Enchance
Дата 27.12.2011, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 20.10.2009

Репутация: нет
Всего: нет



Цитата

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


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

PM MAIL   Вверх
vol4ek
Дата 27.12.2011, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


конь в пальто
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 1.5.2011
Где: Минск

Репутация: нет
Всего: 0



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

Добавлено через 2 минуты и 19 секунд
но это ведь какой-то... жуть ведь получится. зачем тебе это? почему бы не использовать компилятор ассемблера и запускать твои функции в отладчике и смотреть что да как.
PM MAIL ICQ   Вверх
Artemon
Дата 27.12.2011, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: 1
Всего: 20



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

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


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
Enchance
Дата 27.12.2011, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 20.10.2009

Репутация: нет
Всего: нет



Просто есть одна мысль, которую я хочу реализовать, но не знаю, как это делается. Спасибо за ответы, буду думать, как можно решить проблему другим путем.
PM MAIL   Вверх
newbee
Дата 27.12.2011, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бревно
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 24.8.2011

Репутация: 3
Всего: 19



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

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


--------------------
You're face to face
With man who sold the world
PM   Вверх
baldina
Дата 29.12.2011, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



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

Enchance если озвучите мысль, может найдется кто-то знающий как это делается.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0764 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.