Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
Hamlet
0 / 0 / 0
Регистрация: 23.07.2013
Сообщений: 11
#1

нужно найти Глобальные Переменные в .срр файле - C++

23.07.2013, 21:09. Просмотров 1829. Ответов 37
Метки нет (Все метки)

у меня вот такая задача
Дано много .срр файлов, которые являют собой полноценные программы со своими мейнами. Нужно найти для каждого файла его глобальные переменные. Приветствуются отсылки к каким-нибудь утилитам, которые это умеют делать
парсер писать не реально
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.07.2013, 21:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос нужно найти Глобальные Переменные в .срр файле (C++):

Глобальные и статические глобальные переменные - C++
Скажите, чем отличаются глобальные переменные от статических глобальных переменных?

Глобальные переменные - C++
Как в C++ завести глобальную (общую для функции и самой программы) переменную?

Глобальные переменные - C++
Подскажите пожалуйста, почему данные в глобальной переменной перезаписываются, а не плюсуются? Пример: int peremennaya; void...

Глобальные переменные - C++
Здравствуйте! Возникла видимо классическая проблема, но перечитав кучу сайтов так ее и не решил. Пишу в VS2005, имеются 2 срр файла...

глобальные переменные - C++
Пробовал объявить глобальные переменные следующим образом: в заголовочном файле head.h #ifndef DF_H #define DF_H //объявления...

Глобальные переменные - C++
Здравствуйте . Разбираю пример с книги на использование глобальных переменных . Там был такой пример: #include "stdafx.h" #include...

37
Hamlet
0 / 0 / 0
Регистрация: 23.07.2013
Сообщений: 11
24.07.2013, 17:14  [ТС] #31
я уже 3-ий день сижу в гугле и никакого сересного ответа пока не нашел
попробовал
1. gccxml->xQuery ничего не получился
2. cpp->object->grep
3. clang
4. Source Insight
5. ctags
6. nm->UNIX, dumpbin с опцией /symbols для windows

никакого толка нету, я никогда раньше не сталкивался с такими проблемами и по этому не разбераюсь в этих варянтах
0
ForEveR
В астрале
Эксперт С++
7985 / 4744 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
24.07.2013, 17:18 #32
Hamlet, С clang это сделать возможно. Но это нужно читать документацию и серьезно изучать clang api.
0
Hamlet
0 / 0 / 0
Регистрация: 23.07.2013
Сообщений: 11
24.07.2013, 17:20  [ТС] #33
а вот на это у меня не хватает время так как для решения задач у меня остался всего лишь 2 дня
0
castaway
Эксперт С++
4919 / 3027 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 10
Завершенные тесты: 1
24.07.2013, 17:22 #34
Hamlet, тогда настоятельно рекомендую обратиться в этот: http://www.cyberforum.ru/order-program/ раздел.
0
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
24.07.2013, 17:42 #35
поиск глобальных переменных с++
0
Hamlet
0 / 0 / 0
Регистрация: 23.07.2013
Сообщений: 11
24.07.2013, 17:46  [ТС] #36
там тоже ничего серезного нет
0
diagon
Higher
1932 / 1198 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
24.07.2013, 18:43 #37
Цитата Сообщение от Hamlet Посмотреть сообщение
есть много .cpp файлов, которые являют собой полноценные программы со своими мейнами. Нужно найти для каждого файла его Глобальные Переменные. Можно и даже нужно использование какого нибудь утилита, который это умеет делать
Можно натравить на исходники clang и использовать его AST.
Небольшой пример использования libclang.
А парсер плюсов (не их подмножество, а с практически полной поддержкой стандарта) написать за небольшое время невозможно - я на написание препроцессора для этого курса убил овер 300 часов (особенно много времени пожрало понимание и реализация макросов). Впрочем, я сомневаюсь, что вам понадобиться вся мощь плюсового препроцессора.
1
castaway
Эксперт С++
4919 / 3027 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 10
Завершенные тесты: 1
24.07.2013, 22:28 #38
Цитата Сообщение от ForEveR Посмотреть сообщение
Вот код из туториалов по clang-api
https://github.com/loarabia/Clang-tu...Itutorial6.cpp
Ищет глобальные не extern переменные.
Совершенно верно. Компилируется это дело через MinGW используя Clang 3.3 и Makefile так:
Кликните здесь для просмотра всего текста
Makefile
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
APP = main
CFL = -pipe -c -Wall -std=c++11 -pedantic -Id:/dev/clang/include
LFL = -pipe -s -Ld:/dev/clang/lib
SRC = $(APP).cpp
OBJ = $(SRC:.cpp=.o)
LIB = -lclang -lclangSerialization \
      -lclangFrontend -lclangParse -lclangSema -lclangEdit -lclangSerialization -lclangDriver -lclangCodeGen -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers \
      -lclangStaticAnalyzerCore -lclangAnalysis -lclangRewriteCore -lclangRewriteFrontend -lclangAST -lclangLex -lclangBasic -lclangFormat -lLLVMSupport \
      -lLLVMJIT -lLLVMInterpreter -lLLVMAsmParser -lLLVMBitReader -lLLVMBitWriter -lLLVMCodeGen -lLLVMipo -lLLVMLinker -lLLVMSelectionDAG -lLLVMMCParser -lLLVMMC -ldbghelp
 
all: $(OBJ)
    g++ $(LFL) -o $(APP).exe $(OBJ) $(LIB)
 
%.o: %.cpp
    g++ $(CFL) $*.cpp -o $@
 
clean:
    @del $(OBJ)
    @del $(APP).exe
Обращаю внимание на то что библиотеки в Makefile подключаются именно в таком порядке.
Прикрепляю маленький EXE-шник (~ 10Mb) с примером.
0
Вложения
Тип файла: 7z 06_tut6.7z (2.59 Мб, 12 просмотров)
24.07.2013, 22:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.07.2013, 22:28
Привет! Вот еще темы с ответами:

глобальные переменные - C++
здравствуйте, я только начал изучать C++, в книге Штидта Г. есть такой код, он выводит: count + число, помогите понять принцип работы этого...

Глобальные переменные - C++
Я хочу использовать глобальную переменную, определённую в main, в своих классах. Листинг)) globals.h #ifndef GLOBASL_H #define...

Глобальные переменные - C++
Доброго времени суток всем. У меня следующая проблема: объявляю глобально переменную типа структуры dealer* root;. Далее в коде...

Глобальные переменные - C++
Я правильно понимаю: "в c++ использовать глобальные переменные не безопасно, т. к. др. программы могут случайно поменять значение этих...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
38
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.