Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Вставка листа в дерево http://www.cyberforum.ru/cpp-beginners/thread927753.html
Я тут изучал реализацию двоичного дерева поиска и застопорился на одном моменте: не могу понять зачем при вставке листа( узла ) в дерево используется указатель на указатель на узел. Пробовал сделать через указатель на узел, но ничего не получилось. Подскажите, для чего здесь нужен указатель на указатель? Кусок кода из Tree.h template< typename NODETYPE > void Tree< NODETYPE >::insertNode(...
C++ Ввод данных из файла для решения симплекс метода Доброго времени суток. Помогите пожалуйста, мне надо брать данные из текстового файла, обрабатывать их и выдавать в другой файл. В программе реализована консольная версия и вывод в файл. #include <iostream> #include <fstream> #include <cmath> #include <windows.h> using namespace std; char* Rus(const char* text); char bufRus; http://www.cyberforum.ru/cpp-beginners/thread927727.html
Литература C++
Форумчане, ответь мне пожалуйста. Я начал изучение С++ с книги Стивена Прата "Лекции и упражнения". Правильно ли я выбрал книгу. Может быть нужно начинать изучать с книги Бьерна Страуструпа.
что такое четырёхразрядные(4-х разрядный двоичный код)? C++
что такое четырёхразрядные(4-х разрядный двоичный код)?? Пожалуйста объясните в человеческом языке)
C++ Регулярные выражения в g++ http://www.cyberforum.ru/cpp-beginners/thread927653.html
Привет всем! этот пример взял из http://www.cplusplus.com/reference/regex/regex_search/ и скомпилировал g++ . #include <iostream> #include <string> #include <regex> int main () { std::string s ("this subject has a submarine as a subsequence"); std::smatch m; std::regex e ("\\b(sub)(*)"); // matches words beginning by "sub"
C++ Артефакты при компрессии RGB->DXT5 Есть сборник алгоритмов компрессии из RGB в DXT1/DXT5. Тыц: http://http://www.cauldron.sk/files/extreme_dxt_compression.pdf Я беру картинку в RGB формате и конвертирую ее в формат DXT1, вывожу на экран и все отлично. Беру ту же картинку, конвертирую в DXT5, вывожу на экран и получаю артефакты. Собственно артефакты это желтые квадратики. Причем они могут быть любым цветом, появляться в любом... подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
24.07.2013, 13:21     нужно найти Глобальные Переменные в .срр файле
castaway, Используя clang c++ api я так и не смог собрать представленный там код. При линковке всех нужных библиотек давало undefined ref к createDiagnostics, возможно у меня просто неправильно собран clang.

Добавлено через 1 час 38 минут
Меня хватило на вот это:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#define __STDC_LIMIT_MACROS
#define __STDC_CONSTANT_MACROS
 
#include <vector>
#include <iostream>
#include <memory>
#include <typeinfo>
#include <clang/Basic/Diagnostic.h>
#include <clang/Frontend/DiagnosticOptions.h>
#include <clang/Frontend/CompilerInstance.h>
#include <clang/Frontend/CompilerInvocation.h>
#include <clang/Frontend/Utils.h>
#include <clang/Frontend/ASTUnit.h>
int main()
{
   using namespace clang;
   using namespace llvm;
 
   std::unique_ptr<CompilerInstance> compiler(new CompilerInstance());
   compiler->createDiagnostics(0, nullptr);
   const char* args[] =
   {
      "-cc1",
      "test_file.cpp"
   };
   CompilerInvocation::CreateFromArgs
   (
      compiler->getInvocation(),
      args,
      args + 2,
      compiler->getDiagnostics()
   );
   std::unique_ptr<ASTUnit> unit
   (
      ASTUnit::LoadFromCompilerInvocation
      (
         &compiler->getInvocation(),
         IntrusiveRefCntPtr<DiagnosticsEngine>(&compiler->getDiagnostics()),
         false,
         true,
         false,
         TU_Complete,
         false
      )
   );
   if (unit)
   {
      std::cout << "Parsed succesfully" << std::endl;
   }
   else
   {
      std::cerr << "Parsing error" << std::endl;
      return 1;
   }
   ASTUnit::top_level_iterator decls_begin = unit->top_level_begin(), decls_end = unit->top_level_end();
   for (; decls_begin != decls_end; ++decls_begin)
   {
      Decl* decl = *decls_begin;
      VarDecl* var = dyn_cast<VarDecl>(decl);
      if (var)
      {
         if (var->isFileVarDecl())
         {
            std::cout << "global " << var->getNameAsString() << std::endl;
         }
      }
   }
}
Bash
1
cat test_file.cpp
C++
1
2
3
int value = 0;
struct {
} object;
Bash
1
2
3
4
./clang_parse 
Parsed succesfully
global value
global object
 
Текущее время: 22:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru