![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
ElKa |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 1.2.2006 Репутация: нет Всего: 4 |
подскажите плиз как это можно реализовать
например, в следующем коде мне нужно заменить + на - и int a,b; на float a,b;
я парсаю его с gcc_xml gccxml_cc1plus sample.cpp -fxml=sample.xml и получаю такой XML код
как с его помощью можно модифицировать код? и можно ли вообще? может быть можно более подробный исходящий код получить? какие вообще возможности дает этот парсер для модификации кода? Это сообщение отредактировал(а) ElKa - 9.7.2010, 12:12 |
||||
|
|||||
Ockonal |
|
|||
![]() Smile ![]() Профиль Группа: Участник Сообщений: 219 Регистрация: 9.7.2007 Где: Ukraine::Nikolaev ; Репутация: нет Всего: 3 |
Я думаю, вам нужно использовать "отражение", когда программа использует и обрабатывает команды как данные. Там можно делать динамический код. Проблема в том, что на С++ это пока невозможно стандартными средствами, но где-то валялась библиотека такая. Не знаю на счёт её работоспособности.
upd CAMP и есть эта библиотека. Ещё пару ссылок в догонку: как добавить отражение в с++, что это вообще такое и как его используют в других языках. Гугли по теме c++ reflection. Это сообщение отредактировал(а) Ockonal - 11.7.2010, 06:42 --------------------
Ум заключается не только в знании, но и в умении прилагать знание на деле.Самое лучшее из всех доказательств есть опыт.Каждому человеку свойственно ошибаться, но никому, кроме глупца, несвойственно упорствовать в ошибке. |
|||
|
||||
ElKa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 1.2.2006 Репутация: нет Всего: 4 |
Ockonal,
да я уже поняла, что этот парсер ничего не дает мне его здесь настойчиво рекомендовали, а на деле с него толку нет насчет рефлексии, он как раз что-то вроде рефлексии делает, т.е. парсит структуру классов из .h-файлов и достает все функции и переменные классов, как рефлексия в яве мемберсы достает а мне надо именно содержимое функций и значения и типы менять (in .cpp) а на другие парсеры у меня уже времени нет |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |