A gift for C ++ programmers-a set of commonly used tools

Source: Internet
Author: User
Tags doxygen xml parser
A gift for C ++ programmers-a set of commonly used tools

[Statement] If you need to copy or spread the statement, please attach this statement. Thank you. Source: http://morningspace.51.net/,moyingzz@etang.com

From the programmer's point of view, 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:

  1. 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.
  2. The evaluation of the listed tools/software is based on a summary of the views of the majority of netizens, and is based on the author's own personal views for reference. If there is any inaccuracy, please correct me.
  3. Tools/software listed in the list are listed 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.
  4. 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

Turbo C A typical tool developed in C language in the DOS era. Currently, it is suitable for two types of users: C language beginner (especially students) and a professional with nostalgia :)
Visual c ++ 6.0/7.0 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, with a slightly slower speed and stability, but it has better support for the c ++ standard.
Cygwin The C ++ compiler on 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.
Dev-C ++ On Windows, 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 It has the same beautiful interface as Dev C ++ and provides code editing and viewing functions. It has rich syntax highlighting functions and can automatically pop up member functions 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

Visual assist Auxiliary programming tools in the 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 ++ A c/C ++ ide programming aid 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

Editplus A very good text editing software, powerful but lightweight. Supports different languages, including project organization and rich custom functions. By setting the user tool, you can combine it with other language compilers to form a simple IDE.
Ultra Edit Similar to editplus, 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 It is recognized that the most functional and complex text editor in the world can also be used as an editor for programmers.
Visual slick Edit 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 The full-featured programmer uses an editor with a nice UI, where you can find details about iqedit from the http://pwksoftware.com.

UML/Modeling

Rational Rose Powerful modeling tools have long been "widely known" and you don't have to comment on them. Detailed information about Rational Rose can be found from the http://www.rationalsoftware.com.cn.
Visual Modeler The gadgets attached to MS Visual Studio 6.0. It is a strategic product jointly developed by rational and Microsoft and is a simplified version of Rose.
Visio Microsoft's modeling tools are more user-friendly, but have no features such as Rose, strong, proprietary, support for forward code generation, and reverse code engineering.
Together Another powerful modeling tool, written in Java, has a good reputation, but 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
Visual UML It 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. The interface is also refreshing. You can find detailed information about visual UML from the http://www.visualObject.com.
Smartdraw The general chart production 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 China-made object-oriented modeling software, compatible with UML and IDEF, lightweight software, but the interface looks a little simple, but Mr. Gao Zhan completed with Delphi.

Version Control

Clearcase The rational version control management software 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 It provides a version control management method 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 Microsoft's version control management tool has simple functions and is suitable for small teams to integrate it into other Microsoft development tools for ease of use.
Sourceoffsite Microsoft provides developers with tools for remote access to the VSS database, enabling remote database updates to support remote office.

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

XML

Expat 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 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 DLL heavy burden. You can find detailed information about xml4cat http://www.alphaworks.ibm.com/tech/xml4c.
Xerces C ++ The XML project of 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 A unit test framework of C ++. You can customize a specific test scheme by deriving a test class. 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.
Rational Robot Rational automated testing tools provide 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 It 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.

Logs

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

Note

Doc ++ The annotation document generation tool can output documents in Tex and HTML format according to the annotation 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 ++.
Doxygen Compared with Doc ++, the 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.

 

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.