|
1 / 1 / 1
Регистрация: 27.06.2014
Сообщений: 74
|
|
Компиляция исходного кода в работающей программе07.07.2014, 16:21. Показов 4531. Ответов 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
|
|||||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||||||
| 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
|
||||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||||||||
| 08.07.2014, 16:54 | ||||||||
|
Должно быть как-то так:
1
|
||||||||
|
1 / 1 / 1
Регистрация: 27.06.2014
Сообщений: 74
|
|
| 08.07.2014, 16:56 [ТС] | |
|
26! причем это день моего день рождения)) чисто случайно так совпало)))
супер. кстати, DrOffset, при формировании хедера, я нетуда внес определение функции. А какие определения тогда можно вносить в ту секцию?
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 08.07.2014, 16:58 | |
|
0
|
|
|
1 / 1 / 1
Регистрация: 27.06.2014
Сообщений: 74
|
||||||||||||
| 08.07.2014, 17:02 [ТС] | ||||||||||||
Этот вариант не сработал
0
|
||||||||||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||
| 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
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 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
|
||||||||||||||||||||||||||||||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||||||
| 09.07.2014, 21:17 | |||||||
|
Для указания wchar_t строковых литералов, используется префикс L.
0
|
|||||||
|
1 / 1 / 1
Регистрация: 27.06.2014
Сообщений: 74
|
||||||||
| 09.07.2014, 22:08 [ТС] | ||||||||
Добавлено через 20 минут
0
|
||||||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||||||
| 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
|
|||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 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
|
||||||||||||||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 09.07.2014, 22:48 | |
|
0
|
|
| 09.07.2014, 22:48 | |
|
Компиляция кода Freeglut Компиляция кода в приложении Компиляция кода в командной строке
Компиляция кода под конкретную ОС Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|