Code::Block、MinGW 和 wxWidgets 分别是三个著名的开源项目,分别是 IDE、编译器和界面库。由这三样搭建起来的全开源纯c++开发环境,功能不逊色于Visual C++,由于是开源的,这样的环境还是免费的,并且是跨平台的。
Code::Blocks是一个开源、免费、跨平台的c++ IDE。官方网站上称其能满足最苛刻的用户的需求。虽有点夸张,但既然敢这样说,也说明它的功能肯定不差。可扩展插件,有插件向导功能,让你很方便的创建 自己的插件。Code::Blocks是用c++编写的(用wxWidgets库),捆绑了MinGW编译器。
突出特点: 开源(遵循GPL2规范)、跨平台(可在windows和linux平台下运行)、GNU c++编写、可扩展插件、devpack支持(可选)。
欲知更多可以访问官方网站: http://www.codeblocks.org/
目前支持的平台有 :
·Windows 2000 / XP / Vista
·Linux (Ubuntu & Debian, 32 & 64 bits)
·Mac OS X 10.4+
————————————————————————–
Features
Highlights:
- Open Source! GPLv3, no hidden costs.
- Cross-platform. Runs on Linux, Mac, Windows (uses wxWidgets).
- Written in C++. No interpreted languages or proprietary libs needed.
- Extensible through plugins
Compiler:
- Multiple compiler support:
- GCC (MingW / GNU GCC)
- MSVC++
- Digital Mars
- Borland C++ 5.5
- Open Watcom
- …and more
- Very fast custom build system (no makefiles needed)
- Support for parallel builds (utilizing your CPU’s extra cores)
- Multi-target projects
- Workspaces to combine multiple projects
- Inter-project dependencies inside workspace
- Imports MSVC projects and workspaces (NOTE: assembly code not supported yet)
- Imports Dev-C++ projects
Debugger:
- Interfaces GNU GDB
- Also supports MS CDB (not fully featured)
- Full breakpoints support:
- Code breakpoints
- Data breakpoints (read, write and read/write)
- Breakpoint conditions (break only when an expression is true)
- Breakpoint ignore counts (break only after certain number of hits)
- Display local function symbols and arguments
- User-defined watches (support for watching user-defined types through scripting)
- Call stack
- Disassembly
- Custom memory dump
- Switch between threads
- View CPU registers
Interface:
- Syntax highlighting, customizable and extensible
- Code folding for C++ and XML files.
- Tabbed interface
- Code completion
- Class Browser
- Smart indent
- One-key swap between .h and .c/.cpp files
- Open files list for quick switching between files (optional)
- External customizable “Tools”
- To-do list management with different users
And many more features provided through plugins!
