C and C++ Development
Click image for fullscreen preview
Develop professional native applications in C, C++, and
Fortran for a variety of platforms including Windows, Linux, OS X,
and the Solaris operating system.
C and C++ Projects
NetBeans IDE includes project types for C and C++ and
appropriate project templates. You can work with and create C/C++
applications with dynamic and static libraries, and you can also create
C/C++ projects from existing code. C/C++ projects also support Fortran
and Assembler files.
Users can now easily create new projects from scratch by
simply dragging-and-dropping a binary file to IDE. The project system
automatically finds the source files, adds them to the project,
configures code assistance and even explores project dependencies.
Users also now have more flexibility in configuring the "Run" and "Debug" command
and thus can run and debug static and dynamic libraries.
GNU Debugger Integration
The C and C++ editor is well integrated with the
multi-session GNU gdb debugger. You can set variable, exception, system call, line, and function
breakpoints and view them in the Breakpoints window. Inspect the call
stack and local variables, create watches, and view threads. You can
evaluate a selected expression by moving the cursor over it and viewing
the tooltip. The Disassembler window displays the assembly instructions
for the current source file.
Added support for Pretty Printing allows users to analyze variables with STL types in a user-friendly presentation in the Variables or Watches view.
The "Expression evaluation" window enables users to
evaluate any custom expression in the current program context.
Benefit from faster code completion and refactoring for C/C++
and Qt files, including code completion and navigation for preprocessor
directives and preprocessor blocks. Refactorings are available in the
Editor, Class View and Navigator. Use them to change method parameters
and to generate basic field encapsulation code (Alt+Insert). Spell
checking is available in comments and literals.
C and C++ Editor
The C/C++ editor comes with syntactic and semantic
highlighting, automatic indentation and formatting (including a choice
of formatting styles), bracket matching, code folding, and templates.
NetBeans IDE for C++ offers a number of features specific to
developing with C++11. The C++11 features are available in the editor, code assistance, navigation, and project system.
You can create and run C/C++ tests right from the IDE. Test
results are displayed in a clear and user-friendly way.
Qt Toolkit Support
The NetBeans IDE supports a variety of leading compilers,
such as the Oracle Solaris Studio, GNU, CLang/LLVM, Cygwin, and MinGW compilers. You can specify your
compiler, pre-processor definitions, compile-time options, language standards (e.g., C++11), and much
You can configure your project to have it automatically
package your compiled applications as either TAR files, ZIP files, SVR4
packages, RPMs, or Debian packages.
Use the Qt application development framework to create Qt
files, such as GUI forms, resources, and translations. Standard Qt
editing tools such as the Qt Designer for form files and Qt Linguist
for translations are launched automatically as needed. Qt-specific
project properties allow you to fine-tune the generated qmake project
You can inspect the class inheritance hierarchy, a header's
include hierarchy, the type hierarchy, and more. Use the Classes window
to navigate class hierarchies: See all classes in your project, and
also members and fields for each class. The Call Graph window shows all
callers/callees of the selected function. You can choose between a
direct call graph and a reverse call graph as well as change graph
layout. Macroview is available to help understand how code would look
after preprocessing. Use the Overrides/Is Overridden annotations to
navigate between parent and descendant classes. Navigation between
generic template and template specializations is also available through
Use development tools on remote hosts to build, run, and even
debug projects from your client system as simple as if it is done
locally. Different methods of synchronization with the remote host
provide necessary reliability, performance and simplicity. Navigation
through remote file system is now straight forward and available where
it is logically expected.
Explore a new Remote Toolbar (View > Toolbars > Remote) that allows you to switch hosts, open projects from and create new projects at a remote host.
Use the Go To File, Go To Type, and Go To Symbol actions to quickly navigate on an element of interest. Hyperlinks allow you to switch between usage and declaration of anything under the cursor with a single click.
The Go to Header/Source button available in the editor toolbar allows to quickly switch between source and header files.
The Usages window shows where a class (structure), function, variable, macro, #include directive, or file is used in your project's source code. Remote file systems are supported as well.