C语言,初次见面~
C语言是一门介于低级语言(如汇编语言)和高级语言(如Java,Python)之间的一门编程语言,所以它兼有两类语言的一些优点,并且具有自身的一些特点。
1、c语言的高效性。c语言具有通常是汇编语言才具有的微调试能力,可以根据具体情况微调使得程序更好的使用内存或获得更快的运行速度。
2、c语言的可移植性。相对于汇编语言、BASIC语言以及FORTRAN语言等,c语言程序能够稍作修改或甚至不做修改就能在不同计算机系统下运行。
3、强大而灵活。强大而灵活的UNIX系统大部分就是用c语言写的;其他语言(如FORTRAN、Perl、Python、Pascal、LISP、Logo、BASIC)的许多编译器和解释器也是用c语言写的。很多高级语言编译器都会把源程序代码编译为c程序而后才最后生成可执行的机器代码。
4、面向程序员。c语言是一种面向过程的结构化语言,它的编写非常灵活,也就导致了c程序的编写在不同程序员的操作下就五花八门,它的限制少(如指针运算,虽然这也带来了一些弊端),提供了开发者更多的自由。
下图显示了编译器在高级语言程序和机器之间扮演的角色:

关于c编程的基本策略:用程序将源代码文件转换为可执行文件。其基本步骤为编译和链接——编译将源代码转换为中间代码,而链接器把中间代码和其他代码合并(包括将编写的程序和预编译的库代码合并),生成可执行文件。
编译器产生的中间代码保存在目标代码文件(.obj)中,但这还不是一个完整的程序,它缺少启动代码以及库函数等,这些成分的补充需要链接器完成。
有些系统中,编译器工作时会自动启用链接器,而有些则需要分别运行编译程序和链接程序才能得到可执行文件。
UNIX系统下的c编程。首先编辑源代码,在UNIX系统下编译可以用cc命令。如
cc example.c
就对example.c源代码文件进行了编译,用 ls 命令可以看到编译后生成了可执行文件a.out。输入
a.out
可以执行该可执行文件得到程序的输出。
c编译器在编译时会生成与源代码基本名相同的目标代码文件,扩展名为 .o ,但是一旦链接器生成了完整的可执行文件这个 .o 文件就会被删除。但是当原始程序有多个源代码文件时,目标代码文件会被保留。
……
GNU项目中的一个编译器集合GCC中包含着GCC C编译器,使用gcc命令便可调用GCC C 编译器。
LLVM项目是一个与编译器相关的开源软件集合,它用Clang编译器处理c代码,可通过clang调用。
GCC和Clang编译器都对最新版本的C标准提供支持。
两者都可以通过-v显示版本信息,也都可以使用 cc 来作为gcc或clang的别名,如
cc -v
可以显示所使用的编译器及其版本。
C语言,初次见面~的更多相关文章
- 一封推荐信——android培训机构
我,男,23岁,即将毕业的大四学生,就读于天津一所二本院校,计算机科学与技术专业.大一期间,进入新校园,和同学到各个宿舍推销陶瓷杯,国美电器饮水机促销员,组团蹬车游市区,不断地去探索.尝试,追求内心向 ...
- 与TCP/IP协议的初次见面(一)
与TCP/IP协议的初次见面(一) 前言 今下午刚才女朋友那边回来,唉,算是情人节去找她吧,穷屌丝住不起好酒店,住的打折酒店,只是女朋友来姨妈了,万幸啊,牙还疼得不行,这几天光照应她了,没空写博客了. ...
- C语言 · 高精度加法
问题描述 输入两个整数a和b,输出这两个整数的和.a和b都不超过100位. 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储.对于这种问题,一般使用数组来处理. 定义一个数组A ...
- Windows server 2012 添加中文语言包(英文转为中文)(离线)
Windows server 2012 添加中文语言包(英文转为中文)(离线) 相关资料: 公司环境:亚马孙aws虚拟机 英文版Windows2012 中文SQL Server2012安装包,需要安装 ...
- iOS开发系列--Swift语言
概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在 ...
- C语言 · Anagrams问题
问题描述 Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的.例如,"Unclear"和"Nuclear ...
- C语言 · 字符转对比
问题描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等.比如 Beijing 和 Hebei 2:两个字符串不仅长度相 ...
- JAVA语言中的修饰符
JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...
- Atitit 项目语言的选择 java c#.net php??
Atitit 项目语言的选择 java c#.net php?? 1.1. 编程语言与技术,应该使用开放式的目前流行的语言趋势1 1.2. 从个人职业生涯考虑,java优先1 1.3. 从项目实际来 ...
随机推荐
- AutoHotkey的函数对象的Bind方法绑定参数的应用
近期在写Excel数据批处理函数,想提取某列的每个数据是否匹配某某条件的所有单元格. 这种需求比较多,比如判断的值有:单元格值,字体颜色,单元格颜色等等, 判断条件有:相同,不同,正则,或在某多行字符 ...
- 如何用SAP Cloud for Customer的手机App创建销售订单
第一次启动App,设置一个初始化的pin code: 输入C4C tenant的url,用户名和密码: 登录进系统后,找到Sales Order工作中心: 可以看到系统里很多已有的销售订单了.点击屏幕 ...
- Ajax回退刷新页面问题的解决办法
在脚本之家看到一篇文章,觉得以后可能会用上,但是竟然不能收藏,所以只能将其转到博客园. 以下是原文地址: http://www.jb51.net/article/87856.htm 这篇文章主要介 ...
- JSON解析问题
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/quanqinayng/article/details/25121955 这是data.chatFil ...
- BZOJ4602:[SDOI2016]齿轮(并查集)
Description 现有一个传动系统,包含了N个组合齿轮和M个链条.每一个链条连接了两个组合齿轮u和v,并提供了一个传动比x : y.即如果只考虑这两个组合齿轮,编号为u的齿轮转动x圈,编号为v ...
- 9、SpringBoot-CRUD国际化
1).编写国际化配置文件: 2).使用ResourceBundleMessageSource管理国际化资源文件 3).在页面使用fmt:message取出国际化内容 步骤: 1).编写国际化配置文件, ...
- MacType 文字之美 – 让 Windows 字体更漂亮
苹果的Mac系统总能让人眼前一亮,除了其精美的软件界面设计外,最重要是其文字显示效果(渲染方式)比 Windows 更加清晰锐利,阅读起来更加舒服.于是就有高手开发了一款叫 GDI++ 的字体渲染引擎 ...
- C# 控制台模拟序列化和反序列化
序列化:将对象转换成二进制串的过程 反序列化:将序列化过程中产生的二进制串转换成对象的过程 作用:传输数据 using System; namespace WriteTextContent { [Se ...
- 给windows添加路由
route add 10.0.0.0 mask 255.0.0.0 172.16.1.253 -p
- nginx/apache连接数梳理
统计连接数,使用netstat命令或ss命令都可以1)统计连接数(80端口) [root@wang ~]# netstat -nat|grep -i "|wc -l 或者:netstat - ...