假期孩子想学习 C 语言编程,让帮着搭建一个简单好用的 C 语言开发环境。虽然笔记本配置的是Windows 7 操作系统,但当前可供选择的支持Windows 7系统的 C/C 语言开发环境还不少,如: Visual Studio系列、Dev-C 、Code::Blocks、Eclipse for C/C 、NetBeans、VS Code 扩展等十几种。于是计划就此写个Windows平台搭建C/C 语言开发环境系列文章,面向广大C语言编程初学者,分别介绍几种主流常用的Windows平台C/C 开发环境的搭建(下载、安装、配置)和简单开发(源码编辑、编译、运行和调试),以供其了解和学习。
已经对 Dev-C 集成开发环境进行了分享介绍,本文接着分享的是 Code::Blocks ,它是一款免费开源的、跨平台的、全功能的C/C 语言集成开发环境。
本次分享内容的目录如下:
前言
基本概念(IDE、编译)
Code::Blocks 概述(简介、特性)
Code::Blocks 安装(下载、安装)
Code::Blocks 设置(中文设置、编译器设置、调试器设置)
Code::Blocks 软件窗口界面简介
Code::Blocks 开发简单示例(编辑、构建、运行)
Code::Blocks 点评
结束语
1. 基本概念1.1 集成开发环境(IDE)
集成开发环境(Integrated Development Environment,简称IDE)是一种辅助程序开发人员开发软件的工具软件,通常包括代码编辑器、编译器、调试器和图形用户界面等工具,集成了代码编辑、编译、运行和调试等功能于一身,可以让开发人员通过此单一集成环境即可轻松完成程序开发。
可以对IDE简单分类如下:
该类IDE只针对特定编程语言,如 Visual Basic针对Basic语言、Code::Blocks针对C/C 语言等。
该类IDE内含支持多种编程语言的多种编译器/调试器,如微软的Visual Studio 2019集合开发、分析、调试、测试、协作、部署于一身,支持C/C 、Python、JavaScript、C#等多种语言的开发),适合专业开发人员。
该类IDE本身只是代码/文本编辑器,但可通过安装扩展的方式调用多种编译器/调试器,来打造强大的扩展IDE。如:Vim、Atom、Visual Studio Code等。
1.2 编译(Compile)我们知道计算机只能识别二进制机器语言,而开发者一般编写的是高级语言,但机器本身并不能直接识别高级语言,这时就需要将高级语言转化成机器能识别的二进制机器语言,这个过程就叫编译。
实现编译的工具叫做编译器(Compiler),最为知名的编译器为GCC(GNU Compiler Collection,GNU编译器套装),是一套由GNU开发的编程语言编译器。
C语言编译过程分成四个步骤:
2. Code::Blocks 概述2.1 简介
官方网址:http://www.codeblocks.org
Code::Blocks 是一款免费的、开源的、跨平台的、功能强大的 C , C 和 Fortran 集成开发环境(IDE),力求为开发者(个人或团队)提供一个能满足各种需求的优秀编程环境(旨在满足其用户的最苛刻需求)。
Code::Blocks 由纯粹的 C 语言开发完成,它使用了著名的 GUI库 wxWidgets (最新版本的 Code::Blocks 20.03版采用了wxWidgets 3.1.3 unicode版)。对于追求完美的 C 程序员,再也不必忍受 Eclipse 的缓慢,再也不必忍受 VS.NET 的庞大和高昂的价格。
Code::Blocks 的插件构架设计使得开发者可以编写插件,从而添加各种各样的功能(例:插件已经提供了编译、调试功能)。
Code::Blocks 被设计为完全可配置的,它提供了许多工程模板(包括:控制台应用、D应用、Fortran应用、Java应用、静态库、动态连接库、共享库、Fortran库、内核模块驱动、Code::Blocks插件、Win32 GUI项目、wxWidgets项目、GTK 项目、QT5项目、Direct/X项目、FLTK项目、OpenGL项目、OpenCV项目等约40种模板),并且支持用户自定义工程模板。
Code::Blocks 跨平台具有一致的外观、和操作手感。同时因在wxWidgets应用中选择UNICODE而支持中文。
Code::Blocks是可用于满足C和C 的开发人员最苛刻需求的免费C/ C IDE。这款IDE包含进行C和C 开发所要用到的全部功能。
当前最新稳定版本是2020年04月03日发布的 Code::Blocks 20.03 版本。
特点:- 可用于Windows、Linux和Mac OS X。
- 完全的可定制性和可扩展性。
- 支持代码的编译、调试、代码覆盖、分析和自动完成。
- 是一个类浏览器。即是说它可以使面向对象编程可视化。
- 拥有Eclipse这样的可在安排元素时使用拖放功能的特性,另外也支持代码分析。