|
1 / 1 / 1
Регистрация: 27.06.2014
Сообщений: 74
|
|
Компиляция исходного кода в работающей программе07.07.2014, 16:21. Показов 4725. Ответов 47
Метки нет (Все метки)
Привет.
Подскажите, как можно скомпилировать код, и использовать полученный результат в запущенной программе, если этот самый код находится, в компоненте (memo, list итд - неважно) этой запущенной пргораммы. Я нашел 1 вариант - это сохранение этого кода в файл и компиляция в отдельном процессе. Это правильный вариант? и есть ли еще пути решения?
0
|
|
| 07.07.2014, 16:21 | |
|
Ответы с готовыми решениями:
47
Загрузка исходного кода и компиляция *.exe Компиляция исходного кода C++ ubuntu если нет компилятора g++ Исправить ошибку в программе, работающей с дробями |
|
1 / 1 / 1
Регистрация: 27.06.2014
Сообщений: 74
|
|||||||
| 08.07.2014, 13:23 [ТС] | |||||||
0
|
|||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||||||
| 08.07.2014, 15:13 | ||||||
|
vlinx, жестоко ты с ним, зачем же ты его убил, он даже сделать ничего не успел. Это я про TerminateProcess.
Надо было как-то так:
1
|
||||||
|
1 / 1 / 1
Регистрация: 27.06.2014
Сообщений: 74
|
||||||
| 08.07.2014, 16:38 [ТС] | ||||||
|
DrOffset, действительно) спасибо!
сейчас попробую сделать чтобы было все динамически. Добавлено через 47 минут Получилось следующее:
2) Разобьем и запишем эту строку на определение и объявление введенной в MEMO ф-ии 3) Компилим DLL 4) Загрузка DLL и вызов ф-ии Сейчас непойму, почему при компиляции dll выпадают ворнинги: extra tokens at #ifndef derective (example_dll.h) , то ли пробелы не нарвятся, то ли кодировка файла... в результате : function not found Добавлено через 5 минут и почему-то размер dll стал 471кб, а было 14
0
|
||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||||||||
| 08.07.2014, 16:54 | ||||||||
|
Должно быть как-то так:
1
|
||||||||
|
1 / 1 / 1
Регистрация: 27.06.2014
Сообщений: 74
|
|
| 08.07.2014, 16:56 [ТС] | |
|
26! причем это день моего день рождения)) чисто случайно так совпало)))
супер. кстати, DrOffset, при формировании хедера, я нетуда внес определение функции. А какие определения тогда можно вносить в ту секцию?
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 08.07.2014, 16:58 | |
|
0
|
|
|
1 / 1 / 1
Регистрация: 27.06.2014
Сообщений: 74
|
||||||||||||
| 08.07.2014, 17:02 [ТС] | ||||||||||||
Этот вариант не сработал
0
|
||||||||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||
| 08.07.2014, 17:09 | |||
Сообщение было отмечено vlinx как решение
РешениеДобавлено через 5 минут
1
|
|||
|
1 / 1 / 1
Регистрация: 27.06.2014
Сообщений: 74
|
|
| 08.07.2014, 17:14 [ТС] | |
|
Возвращаясь к 4 нашим вариантам..
Получается вариант 3 практически реализован. И у него 2 зависимости (в вызывающем коде): 1) Указатель на ф-ию (прототип) 2) Вызов ф-ии (тоже по прототипу нужно вызывать) тут, я думаю, можно опять делать парсинг input_memo_text и считать кол-во и типы параметров и рез-тат ф-ии. а ниже сделать некий switch по возможным вариантам... вообщем пудумаю еще. отпишусь
0
|
|
|
1 / 1 / 1
Регистрация: 27.06.2014
Сообщений: 74
|
|
| 08.07.2014, 17:18 [ТС] | |
|
давненько уже гадал откуда же беруться всякие кракозябры типа _ZN9wikipedia7article8print_toERSo
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 08.07.2014, 17:19 | ||
0
|
||
|
1 / 1 / 1
Регистрация: 27.06.2014
Сообщений: 74
|
||||||||||||||||||||||||||||||||
| 09.07.2014, 21:12 [ТС] | ||||||||||||||||||||||||||||||||
![]() я его реализую тоже, но сначала этот до конца доведу. Добавлено через 22 часа 21 минуту Реализация варианта 3 (создание процесса с генерацией dll по шаблону) получилась следующая: так как эта функция(возможность компиляции пользовательского кода) часть приложения, код в стиле ООП. cAlgorithmGen.h
cAlgorithmGen.cpp
Допустим в приложении(в моем) нет нужного генератора данных, и нужно задать свои правила генерации определенных значений. Например: -Сгенерировать 10 значений начиная с "0" с шагом 3, и вывести на экран\файл. Для этой цели использование класса будет следующим:
При такой реализации оснавная проблема - в зависимости шаблона прототипа функции в dll и прототипа вызова ф-ии в коде. Они должны совпадать. Здесь решил использовать только 1 шаблон:
За генерацию следующего конкретного значения на каждом цикле генератора отвечает метод
Добавлено через 5 часов 23 минуты оказывается LoadLibrary нужно передавать unicode-строку нужно заменить кусок на
0
|
||||||||||||||||||||||||||||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||||||
| 09.07.2014, 21:17 | |||||||
|
Для указания wchar_t строковых литералов, используется префикс L.
0
|
|||||||
|
1 / 1 / 1
Регистрация: 27.06.2014
Сообщений: 74
|
||||||||
| 09.07.2014, 22:08 [ТС] | ||||||||
Добавлено через 20 минут
0
|
||||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||||||
| 09.07.2014, 22:25 | |||||||
|
vlinx, std::string типизирован типом char. А std::wstring - типом wchar_t. Это я и имел в виду под строками char
![]() Это тайпдефы.
![]()
1
|
|||||||
|
1 / 1 / 1
Регистрация: 27.06.2014
Сообщений: 74
|
|||
| 09.07.2014, 22:32 [ТС] | |||
|
ясно, спасибо Добавлено через 1 минуту
0
|
|||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 09.07.2014, 22:36 | ||
По той причине, что WinAPI нативно поддерживает wchar_t (UCS-2) (если не совру, то с версии NT), а ansi версии функций обеспечиваются через слой совместимости.
0
|
||
|
1 / 1 / 1
Регистрация: 27.06.2014
Сообщений: 74
|
||||||||||||||||
| 09.07.2014, 22:46 [ТС] | ||||||||||||||||
|
как то с wstring трудно работается.
как такую строку можно получить вообще?)
0
|
||||||||||||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 09.07.2014, 22:48 | |
|
0
|
|
| 09.07.2014, 22:48 | |
|
Компиляция кода Freeglut Компиляция кода в приложении Компиляция кода в командной строке
Компиляция кода под конкретную ОС Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|