| <!DOCTYPE html> |
| |
| <html> |
| <head> |
| <title>NetBeans IDE - C and C++ Development</title> |
| <meta charset="UTF-8"> |
| <link rel="stylesheet" href="../../netbeans.css" type="text/css"> |
| <link rel="stylesheet" type="text/css" href="../../features.css"> |
| <meta name="description" content="NetBeans IDE - integrated tools for C and C++ developers"> |
| <meta http-equiv="content-language" content="en"> |
| </head> |
| <body> |
| <h1>C and C++ Development</h1> |
| <p> <a href="../../images_www/v7/screenshots/cnd.png"><img |
| src="../../images_www/v7/screenshots/cnd-cut.png" class="box" |
| alt="C and C++ features in NetBeans IDE" |
| style="border: 0px solid ; width: 638px; height: 242px;"></a> |
| <a href="../../images_www/v7/1/screenshots/cnd.png"><span class="font-11"><br> |
| Click image for fullscreen preview</span></a> </p> |
| <p class="intro">Develop professional native applications in C, C++, and |
| Fortran for a variety of platforms including Windows, Linux, OS X, |
| and the Solaris operating system.</p> |
| |
| |
| <span class="overview-right" > |
| <img src="../../images_www/v6/5/features/cpp-editor.png" |
| alt="C and C++ source code editor" class="box" width="200" height="94"><br/><br/> |
| <img src="../../images_www/v7/2/features/cpp-11.png" |
| alt="C++11 support" class="box" width="200" height="48"> |
| </span> |
| <h2>C and C++ Projects</h2> |
| <p> 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.</p> |
| <p>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.</p> |
| <div class="line"> </div> |
| |
| |
| <span class="overview-left" > |
| <img src="../../images_www/v6/features/cpp-debugger_200px.jpg" |
| alt="C and C++ debugger" class="box" width="200" height="66"><br/><br/><img style="width: 200px; height: 114px;" |
| src="../../images_www/screenshots/7.0/cnddebugger-eval-window.png" |
| alt="C and C++ Debugger Evaluation Window" class="box"> |
| </span> |
| <h2>GNU Debugger Integration</h2> |
| <p> 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. </p> |
| <p>Added support for Pretty Printing allows users to analyze variables with STL types in a user-friendly presentation in the Variables or Watches view.</p> |
| <p>The "Expression evaluation" window enables users to |
| evaluate any custom expression in the current program context. </p> |
| <div class="line"> </div> |
| |
| |
| <span class="overview-right" > |
| <img |
| style="width: 200px; height: 175px;" |
| src="../../images_www/screenshots/7.0/cnd-template-annotations.png" |
| alt="C and C++ Template Annotations Window" class="box"> |
| </span> |
| <h2>Code Assistance</h2> |
| <p> 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.</p> |
| <div class="line"> </div> |
| |
| |
| |
| |
| <table> |
| <tr> |
| <td class="valign-top"><h2>C and C++ Editor</h2></td> |
| <td class="valign-top"><h2>C++11 Support</h2></td> |
| <td class="valign-top"><h2>Unit Testing</h2></td> |
| </tr> |
| <tr> |
| <td class="valign-top" style="width:33%;padding-right:10px;"> |
| <p> 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. </p> |
| </td> |
| <td class="valign-top" style="width:33%;padding-right:10px;"> |
| <p>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.</p> |
| </td> |
| <td class="valign-top" style="width:33%;padding-right:10px;"> |
| <p> You can create and run C/C++ tests right from the IDE. Test |
| results are displayed in a clear and user-friendly way. </p> |
| </td> |
| </tr> |
| <tr> |
| <td class="valign-top"><h2>Compiler Configurations</h2></td> |
| <td class="valign-top"><h2>Packaging</h2></td> |
| <td class="valign-top"><h2>Qt Toolkit Support</h2></td> |
| </tr> |
| <tr> |
| <td class="valign-top" style="width:33%;padding-right:10px;"> |
| <p> 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. </p> |
| </td> |
| <td class="valign-top" style="width:33%;padding-right:10px;"> |
| <p> 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. </p> |
| </td> |
| <td class="valign-top" style="width:33%;padding-right:10px;"> |
| <p> 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. </p> |
| </td> |
| |
| </tr> |
| |
| <tr> |
| <td class="valign-top"><h2>Source Inspection</h2></td> |
| <td class="valign-top"><h2>Remote Development</h2></td> |
| <td class="valign-top"><h2>File Navigation</h2></td> |
| </tr> |
| <tr> |
| <td class="valign-top" style="width:33%;padding-right:10px;"> |
| <p> 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.</p> |
| </td> |
| <td class="valign-top" style="width:33%;padding-right:10px;"> |
| <p> 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. |
| </p> |
| <p>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. |
| </p> |
| </td> |
| <td class="valign-top" style="width:33%;padding-right:10px;"> |
| <p>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.</p> |
| <p>The Go to Header/Source button available in the editor toolbar allows to quickly switch between source and header files.</p> |
| <p>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.</p> |
| |
| </td> |
| |
| </tr> |
| </table> |
| <h2>See Also</h2> |
| <ul class="bigger"> |
| <li><a href="/community/releases/81/index.html">NetBeans IDE 8.1 Release Page</a> for a list of specific features in the latest stable release.</li> |
| <li><a href="../../kb/trails/cnd.html">C/C++ Learning Trail</a> for tutorials that will help you get started.</li> |
| |
| </ul> |
| |
| </body> |
| </html> |