时隔6年,我又重操C语言,是什么让我如此再下定决心?就是不想让自己所学过的知识就此荒废了,我重新以一个C语言初学者的身份(当然,稍稍有点基础,以前的知识忘得没这么快^_^)温故C语言,学习了几天,果真如此,温故而知新矣。

首先我买了一本《C语言深度解剖》第二版,因为,当年就是这本书把我带进了C语言的大门,真正的说明了C语言精髓的书籍,因为不是计算机专业出生,所以以前介绍C的书籍,无可厚非,知其然,不知其所以然。当年看此书是电子版打印的,我想现在,不差这么点钱,买一本。

C语言从1972诞生以来,一直是编程语言界的主角,长盛不衰。

书到了之后,首先介绍的32个关键字,既熟悉又陌生,逐步认识到C语言的本质,心情豁然开朗,指针的操作记忆犹新。当年以为自己“熟悉C语言”,纯粹是为了找工作,如今细细想之,有点大言不惭。Ps:C语言博大精深,嵌入式、Linux等都会涉及。

复习首先在PC上展开,为了尽快进入C语言的调试工作,我先安装了TDM-GCC,原来他已经很久不更新了,不过https://nuwen.net/mingw.html这里有一个非官方的编译版本,也可以拿来用,他是绿色解压版的mingw。

下载了codeblocks-17.12-nosetup.zip,结合TDM-GCC,就可以开始运行C语言,调试C语言了,如果嫌麻烦,可以直接安装codeblocks-17.12mingw-setup.exe。方便省事。

指针就是C语言的精髓。这句话一点都不为过。学习C语言,一定要学会调试,了解内存的基本机制以及C编译器的便宜特性。有的书说C语言的设计有些反人类,吐槽他的一些特性,百家争鸣吧,我反正也没看过那本书。

Codelite当年还是2.5版本,如今已经12.0了,界面我都不会用了,放弃了。

Eclipse和netbeans需要Java环境,占用内存大,我的笔记本电脑,比较旧,也舍弃之。性能好的电脑可以考虑的。

Vim gcc也是编程界十分强大的工具,结合makefile,makefile有陈皓写的《和我一起写makefile》,经典入门资料。

MinGW Developer Studio也不错,轻量,小巧,可以debug,类似visual C++的界面。

DevCpp当年也是不错的IDE,如今在sourceforge里有下载,最新版是5.11。安装的时候,选择fullsetup,不然,即便选择了mingw的路径也不能调试。

Ch,当年有免费的standard版本7.0,是命令行的,可以当作C语言界的IDLE。当年可以作为cfree的编译器之一,不过c-free5.0不免费,也比较旧了,舍弃之,代替的软件有geany,可以直接编译运行C语言。

IDE总而言之是把编译、生成的技术细节给包装起来了,用户只要自动编译运行调试即可,深入学习,还是要接触makefile。那样才能深入理解技术细节。

最后,比较火热的vscode也可以运行调试C语言,但是目前学不会,放弃了,有一个可以实现的方案就行了,不需要这么多的ide平台。学习C语言才是真正的目的。

做一个小总结,追求小巧,快速,推荐MinGW Developer Studio,DevCpp,但代码自动完成比较弱,内存信息无法查看,想要功能全,界面美,调试功能全,可以查看内存信息,推荐codeblocks,但是首次动比较慢。

功能上:codeblocks>DevCpp>MinGW Developer Studio.其实这和项目是否处于正在开发维护状态有关。

开启速度上,三者正好相反。

C语言集成开发环境使用小记的更多相关文章

  1. 【Python基础学习一】在OSX系统下搭建Python语言集成开发环境 附激活码

    Python是一门简单易学,功能强大的编程语言.它具有高效的高级数据结构和简单而有效的面向对象编程方法.Python优雅的语法和动态类型以及其解释性的性质,使它在许多领域和大多数平台成为编写脚本和快速 ...

  2. Go语言集成开发环境之GoLand安装使用

    下载Go语言开发包 大家可以在Go语言官网(https://golang.google.cn/dl/)下载 Windows 系统下的Go语言开发包,如下图所示. 这里我们下载的是 64 位的开发包,如 ...

  3. C语言集成开发环境vs2017的使用技巧之修改快捷键

    首先这里是说编辑C语言内容,其次开发环境是vs2017(全称:visual studio 2017).像这个开发环境体积大,但你安装的时候不要安装到C盘,然后安装的时候选择模块,比如你不开发网站,就先 ...

  4. Go 语言集成开发环境 GoLand 更新至 2018.1.3 版本

    GoLand 2018.1.3 已发布,这是一个全新的更新,尽管没有带来明显的针对 Go 语言的特定改进,但还是提供了许多与 UI,JavaScript 和 SQL 支持相关的错误修复和改进. 可通过 ...

  5. Windows环境墙内搭建Go语言集成开发环境

    1 安装go环境 太简单略 2 安装vs code 找到微软的官方网站,下载Visual Studio Code,官网地址https://code.visualstudio.com/ 安装完成后进入V ...

  6. 软件-集成开发环境:IDEA(Java 语言开发的集成环境)

    ylbtech-软件-集成开发环境:IDEA(Java 语言开发的集成环境) IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他开发语言),IntelliJ在业界 ...

  7. C语言编辑编译及集成开发环境

    C语言编辑编译及集成开发环境 编辑器 在不同的操作系统上使用不同的编辑器,保存源代码文件时,文件名应指出程序的功能扩展名应为.c. 编译器 编译器把源代码编译成机器语言的二进制指令即目标代码生成目标文 ...

  8. 【转】linux和windows下安装python集成开发环境及其python包

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  9. Spark:利用Eclipse构建Spark集成开发环境

    前一篇文章“Apache Spark学习:将Spark部署到Hadoop 2.2.0上”介绍了如何使用Maven编译生成可直接运行在Hadoop 2.2.0上的Spark jar包,而本文则在此基础上 ...

随机推荐

  1. mssql 动态表名,游标

    ALTER PROCEDURE [dbo].[ken_overtime_check](@p_use_code nvarchar(100),@p_table_name nvarchar(1000)) A ...

  2. Exception和Error区别

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11393728.html Exception和Error都是继承了Throwable类,在Java中只有 ...

  3. 回顾Servlet及SpringMVC

    什么是Servlet? Servlet是运行在Web服务器或应用服务器上的程序,它是作为来自Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库 或应用程序之间的中间层. servlet架 ...

  4. 线性规划(Simplex单纯形)与对偶问题

    线性规划 首先一般所有的线性规划问题我们都可以转换成如下标准型: 但是我们可以发现上面都是不等式,而我们计算中更希望是等式,所以我们引入这个新的概念:松弛型: 很显然我们最后要求是所有的约束左边的变量 ...

  5. paper 167:GPU的使用Theano之tutorial

    Theano之使用GPU 英文版本:http://deeplearning.net/software/theano/tutorial/using_gpu.html          using the ...

  6. SPOJ - FTOUR2 (点分治+树状数组)

    题目:https://vjudge.net/contest/307753#problem/I 题意:有一颗树,上面有白色黑色点,每个点上有一个权值,权值可以为负,现在我要求一条路径,权值和最大,这条路 ...

  7. iPad如何恢复

    iPad在有网络连接的情况下,可以通过iCloud进行恢复. 没有连接WiFi的情况下,只能通过USB连接才能恢复. ①下载最新版本的iTunes:https://support.apple.com/ ...

  8. JavaScript-Tool-截取头像:ShearPhoto

    ylbtech-JavaScript-Tool-截取头像:ShearPhoto ShearPhoto 2.0 发布,支持HTML5本地截取头像,支持美图秀秀特效,支持几十M数码相片压缩截取 1.返回顶 ...

  9. 杂项:JFB-权限设置

    ylbtech-杂项:JFB-权限设置 1. 家政经理返回顶部 1. if (UserContext.GetTeamId() == (int)UserType.Manager) { condition ...

  10. Python笔记(五)_内置函数BIF

    查看所有的内置函数:dir(__builtins__) abs()   获取绝对值 max()   返回给定元素中的最大值 min()   返回给定元素中的最小值 sum()   求和 reverse ...