登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 首页 >> 程序员学前班[clq站长各处正式文章收集勘误] >> 程序员学前班[clq站长各处正式文章收集勘误] >> 主题: 学校里学不到的C语言教程之1:第一行代码就看不懂    [最新]
学校里学不到的C语言教程之1:第一行代码就看不懂
浏览(2) -  作者: clq  发表于 2018-03-27 16:53:09   编辑 关键字:

学校里学不到的C语言教程之1:第一行代码就看不懂

--------------------------------------------------
原文地址是 http://baijiahao.baidu.com/s?id=1593005519023103333
不过目前百家号偏娱乐性,对代码的一些特殊符号还不能正确转码。
--------------------------------------------------


clq的程序员学前班
2018-02-2119:47
鄙人90年代的二流大学的学生,不过好在是正宗的软件开发专业,在我们那个年代进入大学学习的第一门开发语言是 pascal ,语言的名称据说是为纪念伟大的先驱帕斯卡,而后一年就是要学 C 语言了。因为"好学"的原因我曾经托老婆大人问过她北大计算机系的闺蜜要过课本,虽然没有得逞,不过也知道了她们的教程大体相似。现在的大学,我大概问过,据说第一门就是C了,也有些是 java。因为"命好",因为一些原因在校时我就自学了 delphi ,工作后的第一份工作刚好也是 delphi 的开发,所以一路还算比较顺利。以后随着时间的推移我渐渐地指导一些新人,发现他们开始工作时却是非常的困难,原因是他们的 C 语言知识基本上来自于课堂或者是单片机试验,或者是学了课本上的C语言后就去弄 php 网站了。如果他们以后的工作是 php 或者 java 的话也就算了,有一些却要实打实的上 C++ 项目了,说实在的这基本上是开玩笑。我从业20年就没见过一款能挣钱的C++软件是毕业一年的人做出来的。这和做网站完全等其他的完全不同。原因其实也很简单,那就是软件工业使用的C语言和课本上的大相径庭。不要说是毕业生了就算是我工作很多年以后看到 "C陷阱与缺陷" 这本书时才算真正开始了解了工业中的原始C语言,而在这之前我已经看过了很多的C++大师级别作者的很多书,说实在的那些加起来比我个头还要高的书籍加起来都不如这本薄薄的貌似零散随笔的合集。所以我打算写的这个系列文章也大概是这本书的风格,只不过细节更具体一些,主要内容就是介绍软件工业中的C语言与学校中的区别。

当一个在校生尝试进入真正的开发时,如果他阅读过了一些课外的资料,那么他大概就要打开一个流行的C++语言的IDE了。一般情况下这个 IDE 应该是微软的 VC。不过既然我们要说真正的C语言开发,那光说 VC 是不够的,所以我们的例子同时会在VC、BCB2009和我很喜欢的C-Free中同时给出示例运行结果。VC 应该就不用介绍了,cfree 看过我前面文章的同学也应该知道了这代表 gcc ,那么 bcb 是什么东西呢?截图如下:















我就是bcb2009

我就是bcb2009

BCB 在我们那个年代可以大大有名,我第一家公司中主要用的是 delphi ,公司中的元老都是 C++ 铁粉,痛苦地看着 delphi 完成了各种东西,他们在等待 borland 出一款相同的但使用 C++ 进行开发的软件。终于他们等到了,这就是后来"判逃"到微软的 C# 之父创立的公司 borland 出品的 C++ builder。以上来自公司元老们经常讲给我听的他们的痛苦的经历,要我进入行业的时候 bcb 已经进入主流开发了。即使是今天使用 bcb 的公司仍然不像大家认为的那样少,如果你们炒过股的话那十有八九你们之前不久还用过它开发的软件。

扯远了,我们来看看为什么说第一行代码就看不懂,这不是欺负初学者嘛。大家可以看看前面截图中的第一行代码:

#include <vcl.h>

没见过吧。这啥 bcb ,非主流啊... 好,我们来看 vc2010 默认建立的最简单程序的第一行:














vc2010

vc2010



#include "stdafx.h"

这一行,学校肯定也没教过。说实在的,进入工业化的C/C++语言开发真的是痛苦的历练的过程。那些不懂行进入软件行业又听信他人贸然使用C++的公司就更是不幸,这样的新公司我见过太多了 ... 不说大的道理,一个C++写的游戏服务器谁敢乱改?所以C/C++的程序员,没有个出校门后的二次学习的过程是不可能的。

以上的代码要解释起来其实也不容易,前者是要引入 borland 的杀手库 vcl ,这是个 gui 的模块,因为 bcb 就是为 vcl 开发出来的 C++ 工具,所以普通的 bcb 程序一般都要引入 vcl 的头文件。后者则要复杂得多,根据不同的选择项,stdafx.h 中的内容差异会很大,有可能是 mfc ,也有可能就是个空文件 .... 不过我们换一个角度来看待它们就简单多了:大多数商业开发环境都要有自己公司出的一些功能模块为支撑,比如 windows 上写一个窗口,这在标准 C/C++ 里是没有的功能,那就要引入库了,所以程序中通常都要先引入自家的库,而各家库又不一样,就导致了只学过普通C语言教程的人一进来就连第一行代码都看不懂的情况。当然了往下几行,还是不懂的内容 ... ... 这些我们下节课再说吧

好了,最后告诉一下刚接触 VC 的同学,建立工程后运行的方法是那个绿色三角形小按钮,幸运的是大多数的 IDE 都有这个按钮,包括 cfree 上的也是,而且还都是绿色的,还都是三角形:














都有绿色三角形的执行按钮

都有绿色三角形的执行按钮

这也算是它们少有的共同点之一了。
[2018-03-27 17:01:48 最后更新]

clq
2018-03-27 16:57:58 发表 编辑

[图片]

我就是bcb2009


clq
2018-03-27 16:59:01 发表 编辑

[图片]

vc2010


clq
2018-03-27 16:59:38 发表 编辑

[图片]

都有绿色三角形的执行按钮



总数:3 页次:1/1 首页 尾页  
总数:3 页次:1/1 首页 尾页  


该采集也在以下书单中



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2017 clq, All Rights Reserved
CLQ工作室 版权所有