Essential tools for C ++ programmers

Source: Internet
Author: User
Tags doxygen xml parser
Essential tools for C ++ programmers

From the programmer's perspective, the use of good tools will always give people a multiplier effect. How can we choose between a wide range of tools and software. Not long ago, I posted a post on the C ++ forum of csdn, In order to solicit wide comments and receive a good response. On the basis of finishing the post, this article also makes some supplements. I would like to express my special thanks to the following netizens: danielwyo (fall in love with Tom) and redleaves (unintentional red leaves ).

You need to declare the following:
-This article mainly targets C ++ programmers, but some general-purpose tools/software for comprehensive classes are also indispensable as C ++ programmers, so they are also included. Likewise, these tools/software are also applicable to programmers in other languages.
-Comments on the various tools/software listed in the table are based on the opinions of the majority of netizens and combined with the author's own personal opinions for reference. If there is any inaccuracy, please correct me.
-The rankings of the listed tools/software are in no particular order, including open source software and commercial products. For the former, I will provide, for the latter, I will try to provide reference URLs for relevant information.
-This list is not static, and the listed tools/software are far from Paul Vientiane. If you have good suggestions and ideas, you can also provide them. If necessary, I will regularly update this list ^_^

[Development Environment]
Visual c ++ 6.0/7.0 is a stable and powerful IDE development environment with rich debugging functions. The custom macro function is also a major feature. Microsoft's classic, powerful and self-explanatory. Some of the included tools are also very good, such as: spy ++. However, compared with similar compilers, the C ++ standard is not well supported, especially in versions 6.0 and earlier.

BCB Borland's c ++ builder is another powerful ide that can rival VC. It has a low speed and stability, but has better support for the c ++ standard.

The C ++ compiler that simulates UNIX environments on cygwin windows is based on GCC and fully compatible with Windows features, such as Winsock support. You can find detailed information about cygwin from the http://www.cygwin.com.

On the dev-C ++ Windows platform, a C ++ IDE development environment similar to VC and BCB is a shared software. The interface is friendly and elegant, and the size is not big. The 4.9.x version supports Chinese language and does not need to be customized. The compiler is based on GCC and fully supports STL. However, it may be difficult to be competent for large-scale software projects. You can go to http://www.bloodshed.net/dev/devcpp.htmlto find the relevant information about the dev-cworkflow.

Source insight has the same beautiful interface as Dev C ++ and provides code editing and viewing functions. It has rich syntax brightening functions and can automatically pop up member function prompts like VC, it also has a fast and convenient function jump function (but the jump speed seems a little slow ). It only requires careful adjustment and modification when the default settings are not appropriate. You cannot find the name after typedef.

[Auxiliary]
Auxiliary programming tools in the visual assist vc ide environment can identify various keywords, functions, and member variables, automatically give tip, and automatically correct case and spelling errors. Is a good partner of VC development.

Understand for C ++ is a C/C ++ ide programming auxiliary tool that supports reverse engineering, code orientation, and some statistical functions, from the http://www.scitools.com, you can find detailed information about understand for C ++.

[Program editor]

The ultra edit function is similar to the editplus function. The editing environment can be customized through the configuration function provided by the script file, but it has not changed much since version 6.0. for programming, the custom settings are not as convenient as editplus.

Emacs is recognized as the world's most functional and complex text editor. It can also be used as an editor for programmers.

Visual slick edit is a powerful editor for programmers. The most important thing to mention is its custom functions, which are very useful and can be compared with Emacs. It comes with a set of pcode interpreters, which use the C syntax and can be attached to a dynamic library. It is very convenient to use with mingw. You can find details about slickedit from the http://www.slickedit.com.

Iqedit full-featured programmers use the editor, the interface is very beautiful, from the http://www.pwksoftware.com can find detailed information about iqedit.

[UML/modeling]

The powerful modeling tool of Rational Rose has long been a household name, so you don't have to comment on it if you are successful. Detailed information about Rational Rose can be found from the http://www.rationalsoftware.com.cn.

The gadgets attached to visual modeler MS Visual Studio 6.0. It is a strategic product jointly developed by rational and Microsoft and is a simplified version of Rose.

The modeling tool of Visio Microsoft is more user-friendly, but it does not have many functions such as Rose, strong, and specialized. It supports forward code generation and reverse code engineering.

Together is another powerful modeling tool written in Java and has a good reputation, but it is a little slower. You can find detailed information about togather from the http://www.togethersoft.com, and the following URL provides a tutorial on together: http://www.cc.puv.fi /~ TKA/kurssit/tietojarjestelmien_suunnittelu/together/tccguide6/index.html.

Visual UML supports multiple language types, such as Vc, VB, Delphi, and corba idl. It can generate code directly from the UML design diagram, which is easy to use and suitable for personal use, and the interface is refreshing. You can find detailed information about visual UML from the http://www.visualObject.com.

Smartdraw universal chart creation software can be used to make group loom diagrams, flowcharts, and statistical charts. With an image library, you can create various types of charts. You can find detailed information about smartdraw from the http://www.smartdraw.com.

Playcase is an object-oriented modeling software developed in China. It is compatible with UML, IDEF, and lightweight software, but the interface looks a little simple. It was completed by Mr. Gao Zhan using Delphi.

[Version control]

The version control management software of clearcase rational provides powerful functions to control various types of documents, including Word, Excel, and PowerPoint documents. However, it is complex to use, not easy to use, and not free software.

CVS provides version control management for web-based distributed collaborative development. It is a free software and can be customized using scripts. However, permission control functions are relatively weak.

VSS is a version control management tool of Microsoft. It has simple functions and is suitable for small team development. It is very convenient to integrate it into other Microsoft development tools.

Sourceoffsite a tool provided by Microsoft for developers to remotely access the VSS database, allowing the database to be updated remotely to support remote office work.

Other version management tools include PVCs, VCs, and RCS.

[XML]

Expat is a C function library used to read and process XML documents. It was originally a personal work of James Clark and is simple, lightweight, and fast. However, the supported encoding methods are limited, and the most regrettable is that Chinese characters are not supported. Detailed information about expat can be found from the http://expat.sourceforge.net.

Xml4c: the XML Parser of IBM, which is written in C ++ and has powerful functions. It is claim to support up to 100 character encodings and support Chinese characters. It is suitable for large-scale XML applications. If it is only a small range of applications, it is not the best choice. After all, you need to "bear" about 12 Mb of DLL heavy burden. You can find detailed information about xml4cat http://www.alphaworks.ibm.com/tech/xml4c.

The XML project of xerces C ++ Apache is also implemented in C ++ and comes from xml4c of IBM. Therefore, the programming interface is consistent with xml4c. But currently only supports a few character encoding, such as ASCII, UTF-8, UTF-16, etc., cannot process XML documents containing Chinese characters. You can find details about xerces C ++ from http://xml.apache.org/xerces-c.

[Test]

Cppunit is a unit test framework of C ++. You can customize a specific test scheme by deriving test classes. A member of the xunit family, transplanted from JUnit, is a unit test framework in Java. Detailed information about cppuint can be found from the http://cppuint.sourceforge.net.

The rational robot rational automated testing tool provides automated testing features by writing scripts. Its Gui-Based Script recording function helps to test GUI software functions; its vu-Based Script recording function helps to test data communication functions of some software.

Rational purify is also a rational automated testing tool. It does not need the source code of the program to be tested. It can be used to check memory access errors and Windows API call errors to complete software reliability testing, it is a white box test.

Other rational testing tools include testfactory, purecoverage, and testmanager.

[Log]

Log4cpp is a C ++ function library used for logging. It records the content in a customized manner to different destinations, such as files, consoles, and syslogs, some irrelevant records can also be blocked by controlling the record level. You can find details about log4cpp from the http://log4cpp.sourceforge.net.

[Comment]

The doc ++ annotation document generation tool outputs documents in Tex and HTML format based on the document annotations in the source program. In addition to the C/C ++ language, it also supports IDL and Java. Only command line usage is supported. From the http://docpp.sourceforge.net, you can find detailed information about Doc ++.

Compared with Doc ++, The doxygen annotation document generation tool provides more comprehensive functions. It can generate documents in multiple formats including HTML, PDF, and RTF, and has a GUI, in addition to the C/C ++ language, it also supports IDL, Java, PHP, and C. From http://www.stack.nl /~ Dimitri/doxygen can find detailed information about doxygen.

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.