2019年1月2日

C语言的三套标准 C89(C90)、C99、C11

摘要: C语言最初由 Dennis Ritchie 于 1969 年到 1973 年在 AT&T 贝尔实验室里开发出来,主要用于重新实现 Unix 操作系统。此时,C语言又被称为 K&R C。其中,K 表示 Kernighan 的首字母,而 R 则是 Ritchie 的首字母。K&R C语言与后来标准化的C 阅读全文

posted @ 2019-01-02 21:33 锋邢天下 阅读(2860) 评论(0) 推荐(0) 编辑

C语言编译器

摘要: 我们分两部分介绍C语言的编译器,分别是桌面操作系统和嵌入式操作系统。 桌面操作系统 对于当前主流桌面操作系统而言,可使用 Visual C++、GCC 以及 LLVM Clang 这三大编译器。Visual C++(简称 MSVC)是由微软开发的,只能用于 Windows 操作系统;GCC 和 LL 阅读全文

posted @ 2019-01-02 21:14 锋邢天下 阅读(691) 评论(0) 推荐(0) 编辑

编译和链接

摘要: 我们平时所说的程序,是指双击后就可以直接运行的程序,这样的程序被称为可执行程序(Executable Program)。 在 Windows 下,可执行程序的后缀有.exe和.com(其中.exe比较常见); 在类 UNIX 系统(Linux,Mac OS 等)下,可执行程序没有特定的后缀,系统根据 阅读全文

posted @ 2019-01-02 17:52 锋邢天下 阅读(224) 评论(0) 推荐(0) 编辑

C语言中使用的地址是真实的物理地址吗?

摘要: 设置程序基址固定:关闭程序基地址改变。 在vs中编写代码如下: #include <stdio.h> int main(){ int a = 5; printf("a的内存地址是 %d", &a); system("pause"); return 0;} 编译生成程序,找到vs生成的Test.exe 阅读全文

posted @ 2019-01-02 17:41 锋邢天下 阅读(1707) 评论(0) 推荐(0) 编辑

关闭程序的动态基地址功能

摘要: Windows vista开始有动态基地址的功能,只要pe头Dll Characteristics有0x40每次加载时基地址都不一样。 相应的IDE,比如VS,也支持动态基址的功能。 1 在VS自己编写的程序中关闭基址改变属性: ①vs中右键项目 -> 属性 -> 链接器 -> 命令行:去掉/DYN 阅读全文

posted @ 2019-01-02 17:17 锋邢天下 阅读(822) 评论(0) 推荐(0) 编辑

程序是怎么运行起来的

摘要: 1 我们用c语言写一个exe程序,双击就可以运行,它是怎么运行起来的呢? 实际上,我们写的exe程序保存在硬盘上,双击运行程序的时候操作系统会把保存在硬盘上的数据复制到内存。为什么?因为CPU被设计成只能从内存中读取数据和指令。 为什么这么设计CPU?因为为了运行速度,在读写速度上,内存是远高于硬盘 阅读全文

posted @ 2019-01-02 16:45 锋邢天下 阅读(968) 评论(0) 推荐(0) 编辑

C语言目录

摘要: 软件行业的很多细分学科都是都是基于C语言的,学习数据结构、算法、操作系统、编译原理等都离不开C语言。 PHP、Python 等都是用C语言开发出来的,虽然平时做项目的时候看不到C语言的影子,但是如果想深入学习 PHP 和 Python,那就要有C语言基础了。 C++ 和 Objective-C 干脆 阅读全文

posted @ 2019-01-02 16:05 锋邢天下 阅读(452) 评论(0) 推荐(0) 编辑

导航