Structure101

New Hi-fi C/C++ Parser + Dependency DB

The imminent public release of Structure101 v7 includes an entirely new kind of C/C++ source parser. Three years in the making, this parser feeds a high-fidelity “super-model” into our familiar visual desktop applications, as well as into our brand-new SQL … Read More

C/C++ Games Engine

Managing Engine Updates in C/C++ Games Development

Games are generally developed on an engine library that is developed by a separate team, on a different lifecycle. Upgrading to a newer version of the engine during game development can be a pressure point – there may be improvements … Read More

Using Structure101 “modules” to control APIs in C/C++

Cross project API control can play a vital role in managing a well-organized codebase. In this post, we’ll take a look at how to achieve API control between projects using the Modules feature in Structure101 Studio. For a full walkthrough … Read More

Manipulating File Names in Structure101 C/C++ Models

C and C++ models can prove challenging to interpret if the file structure of the model does not reflect the structure that the project team are used to seeing (which might happen for a number of reasons). Structure101 Studio has … Read More

Splitting a module based on usage by other modules

This is a scenario that I’ve been asked about by several Structure101 users. module C is used by 2 other modules A and B, and we’d like to split module C into 4 modules based on how classes are used … Read More

Finding superfluous C/C++ #includes

Unnecessary #include statements can increase build times, make code harder to understand, and make restructuring more difficult. It is trivial to find these with Structure101 Studio, so you can remove them from the code, or from the model prior to … Read More

Structure101 Workspace IntelliJ IDEA and Gradle

The IDEA gradle import creates module compile output paths that are different to the gradle build output paths. Structure101 Workspace uses the IDEA module compile output paths to find the bytecode. So, running a gradle build will not propagate changes to … Read More

Why does the violation count change when I collapse a cell on a Structure101 Architecture Diagram?

This will happen when there is one or more violations contained within the scope of the cell you are collapsing. For example you might have this situation: And the violations count is show as 3(4) in the Diagrams list: (i.e. … Read More

How to create a killer call graph for impact analysis

Sometimes you really want to cut through a code-base to discover all the functions that can get called in response to a specific function being invoked, with all the other code removed from the picture. Or you might be coming … Read More

Structure101 adds Doxygen and Understand support for C/C++, Delphi/Pascal and Python

Thanks to Marcio Marchini who developed Doxygen and Understand flavors or “third-party parser plugins”, Structure101, Restructure101 and Structure101 Build now support the parsing of: C, C++ using Doxygen, or Understand from Scientific Toolworks; Delphi/Pascal using ModelMaker, or Understand; beta support … Read More