Download NetBeans

NetBeans IDE Features

C and C++ Development

C and C++ features in NetBeans IDE
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++ source code editor

C++11 support

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.

C and C++ debugger

C and C++ Debugger Evaluation Window

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.

C and C++ Template Annotations Window

Code Assistance

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

C++11 Support

Unit Testing

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.

Compiler Configurations


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 more.

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 file.

Source Inspection

Remote Development

File Navigation

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 corresponding annotations.

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.

See Also