c primer plus(第六版) - 1 初识c语言

本文讲述了C语言在开发UNIX系统中的重要性,以及C语言的可移植性和C标准的发展历程,包括C90、C99和C11,还介绍了编译器、链接器和IDE在开发过程中的作用,以及如何在不同平台上使用C/C++编译器。
摘要由CSDN通过智能技术生成

1972年,开发UNIX 时设计了C,怎么开发UNIX?

汇编语言:为特殊的CPU设计的一系列内部指令,不同的CPU使用不同的汇编语言

C可移植,BASIC和FORTRAN不可移植吗?有IBM BASIC和苹果BASIC

C编译器:把C语言转换成计算机内部指令的程序。比如vc, gcc, clang。

C很强大:UNIX是用C语言写的,可以用BASIC或者Python写UNIX么?其它语言的很多编译器和解释器也都是C语言写的。

C在哪些地方流行:嵌入式,微处理器。

FORTRAN流行的领域:科学编程。

CPU工作原理简单描述:

1)从内存取指执行。1G CPU 1秒钟执行10亿次,10个小目标啊;

2)CPU有若干个寄存器,每个寄存器存一个“数字”,这个“数字”可能为下一条指令的内存地址,可能是一条指

3)CPU能理解的指令有限(指令集)

4)指令的作用:许多指令都用于请求计算机把一个数字从位置1移到位置2,如从内存到寄存器。

字符也是以数字形式存储在计算机中吗?是的!每个字符都有一个数字码。

计算机如何完成相加操作?用机器语言编写如下步骤:涉及2个寄存器和多个内存地址。

计算机看不懂 total = mine + yours这么简单的计算怎么办?编译器闪亮登场。编译器就是翻译官,翻译并生成机器语言文件(.o或者可执行程序)

不同CPU制造商的指令系统和编码格式?不同。

“ARM CPU” 能认识 “Intel i7 CPU” 编写的机器语言程序吗?切,什么都不是!

但是ARM CPU可以有ARM的编译器,Intel CPU可以有Intel的编译器。

题外话:以前600W的超级计算机只能简单计算,现在的手机,计算能力都比它强数百倍,还可以看视频,听音乐!

第一个C标准:ANSI C(C90)

第二个C标准:C99

1)目标1:支持国际化变成,提供多种方法处理国际字符集(问:怎么处理的?)

2)目标2:解决类似将C移植到64位CPU问题

3)目标3:支持科学和工程计算

注意:编译器也要修改,同步支持C99的这些改动。语言有了新特性,翻译官也要学习啊

第3个标准:C11,目的是跟进新技术,例如支持多处理器的计算机。

编译器运行链接器。

中间文件有多种形式,最普遍的形式叫做“目标文件”,“目标文件”为什么不可执行,因为它缺少“启动代码”,还缺少库函数。“启动代码”充当程序和OS之间的接口

链接器的作用:合并目标代码、启动代码和库。

UNIX中怎么编译?敲UNIX自带的C编译器cc:

cc inform.c        // 生成a.out

问题:为什么找不到“目标代码文件”:inform.o?

答:只有一个源文件,就会被链接器删除.o。如果有多个源文件,则保留目标代码文件。

GCC是什么?

GCC是编译器集合,其中包含“GCC C”编译器。GCC属于1987年开始的GNU项目。

题外话:Clang是FreeBSD(一个UNIX版本?)的默认C编译器。

如何选择c11标准进行编译?gcc -std=c11 inform.c  // "-"开始,表示选项

C编译器不是Windows安装包的一部分。可以下载Cygwin和MinGW,这样就可以通过命令使用GCC编译器集合。

有些编译器生成带.asm的汇编语言文件

IDE:VS编译器(理解为带界面的编译器)

C和C++的区别,阅读参考资料IX.......

getchar():暂停等待一次键的按下。

用vs编译c程序:选win32控制台应用程序 -> 空项目。

题外话:许多linux发行版都可以安装在windows中!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值