引言:
学习 C 语言很久了, 是不是一直在跟黑乎乎的屏幕打交道, 像秋秋, 360,VC6.0 这样的软件都是带界面的, 怎么做到的呢?
前面我们讲的 "黑屏" 叫控制台应用程序(Win32 Console Application), 也称 DOS 程序(或 MS-DOS 程序).DOS 是早期的命令式操作系统, 很难做出漂亮的界面, 除了开发人员,"黑屏" 对普通用户很不友好.
带界面的程序叫 Windows 应用程序(Win32 Application).Windows 是一款现代操作系统, 带有丰富的交互界面, 使用简单, 无需记忆繁杂的命令.
使用 C 语言可以开发出 Windows 应用程序, 也就是带界面的程序, 只是绝大部分 C 语言教程没有讲, 它们只讲了基本语法, 让很多初学者认为学 C 语言没用, 什么都做不出来.
其实不是这样的, C 语言只是一种工具, 需要与 Windows 系统结合, 借助 Windows 提供的函数才能开发出漂亮的程序.
Windows API 编程, Windows 编程, Windows SDK 编程是一个概念.
小编推荐一个学 C 语言 / C++ 的学习裙[ 七三零, 一三零, 二二一 ] , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
什么是 windos 编程:
在 C 语言中, 使用 fopen()函数可以打开一个文件, 感觉非常简单. 文件保存在硬盘上, 要经过复杂的处理才能显示, 这些细节对我们来说是透明的, 由操作系统完成. 也就是说, 我们调用 fopen()函数来通知操作系统, 让操作系统打开一个文件.
那么, 我们如何告诉操作系统打开文件呢?
看似简单的操作到底层都非常复杂, 打开文件首先要扫描硬盘, 找到文件的位置, 然后从文件中读取一部分数据, 将数据放进 I/O 缓冲区, 放进内存; 这些数据都是 0,1 序列, 还要对照 ASCII 表或 Unicode 表 "翻译" 成字符, 再在显示器上显示出来. 这个过程如果要让程序员来完成, 那简直是噩梦!
怎么办呢? Windows 想了一个很好的办法, 它预先把这些复杂的操作写在一个函数里面, 编译成动态链接库(DLL), 随 Windows 一起发布, 程序员只需要简单地调用这些函数就可以完成复杂的工作, 让编程变得简单有趣.
这些封装好的函数, 叫做 API(Application Programming Interface), 即应用程序编程接口.
API 函数以 C 语言的形式向外暴露, 可以通过 C 语言直接调用.
除了函数, Windows 还预先定义了很多数据类型(使用 C 语言的 typedef 关键字定义). 广义上来说, 这些数据类型也是 API 的一部分.
API 屏蔽了很多细节, 大大简化了程序员的工作, 这就是操作系统的威力, 不但让普通用户使用方便, 也让程序员如释重负.
在 Windows 上运行的程序(包括 MS-DOS 程序), 本质上都是通过调用 Windows API 来完成功能的, 包括 QQ,360,VC6.0 等, 别看这些团队牛, 也不可能从底层做起, 那简直不可想象.
C 语言也一样, 也是调用 Windows API,fopen() 函数就是通过调用 CreateFile() 函数实现的. CreateFile() 是 Windows API 中的一个函数, 可以用来打开或创建文件.
通常所说的 SDK 编程就是直接调用 API 函数进行编程. SDK 是 Software Development Kit 的缩写, 即软件开发工具包.
Windows API 函数成千上万, 详细了解每一个函数的用法是不可能的, 也是完全没有必要的. 只需知道哪些功能由哪些 API 函数提供就行了, 等使用它们时再去查阅帮助文件.
带界面的程序的专业称呼是 GUI 程序. GUI 是 Graphical User Interface 的简写, 即图形用户界面. 本教程将教你使用 Windows API 来编写 GUI 程序, 编程语言为 C 语言.
小编推荐一个学 C 语言 / C++ 的学习裙[ 七三零, 一三零, 二二一 ] , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
C 语言学来干什么?
你或许学 C 语言很久了, 没什么感觉, 可能学 python 都可以抓取网站的数据了, C 语言还是默默无声.
来源: http://www.jianshu.com/p/c82756512970