请选择 进入手机版 | 继续访问电脑版

WWW.RRR80.COM 好.XX.片

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 825|回复: 1

C语言“大爆炸”——C++、Objective-C、CSharp

[复制链接]

556

主题

766

帖子

2298

积分

金牌会员

Rank: 6Rank: 6

积分
2298
发表于 2019-5-14 08:25:47 | 显示全部楼层 |阅读模式
C 语言被认为是第一个真正意义上可移植的现代编程语言,它已经被移植到几乎每一个出现过的系统架构和操作系统上。因为它是一种命令的、编译的和程序化的编程语言,它允许语法变量作用域和递归,允许内存的底层访问,还有复杂的 I/O 和字符串操作功能,这种语言变得相当通用。

C 语言
里奇和布莱恩·克尼汉(Brian Kernighan)对C 语言进行了一定程度的优化,最终于1989年被美国国家标准协会的 X3J11 委员会进一步细化为ANSI C程序设计语言。直到今天,ANSI C 作为一种编程语言还被大量地使用,后来它还衍生出很多的姊妹语言:C++、Objective-C、C#...
C++,是由Bjarne Stroustrup于1985年发明,它增加了面向对象编程和类的支持,用在各式各样的操作系统上,包括像Linux和Mac这样的UNIX衍生品上,它作为微软 Windows 软件开发的主要编程语言长达20多年。
Objective-C,是由达石软件【Stepstone,Lumesse(路敏思)的前身】的布莱德·考克斯(Brad Cox)Todd Love在八十年代发明的,增加了Smalltalk消息传递功能,进一步拓展了这种语言面向对象和代码重用的特性。Objective-C很大程度上被认为是一个鲜为人知的C语言衍生品,直到它在八十年代末和九十年代初被广泛用于NeXT计算机系统公司NeXTStepOpenStep操作系统上,NeXT是乔布斯在1985被赶出苹果公司后所创办的

1988年乔布斯的NeXT Computer
NeXT在计算机领域发生了一段传奇:NeXT于1996年12月被苹果公司收购,乔布斯在1997年重新回归苹果并出任公司的CEO。2001年苹果发布了Mac OS X,其中大量使用了 Objective-C,以及NeXTStep和OpenStep所引入的面向对象技术。
当C++也被大量应用在Mac上,Objective-C被用来在XCode IDE下编写本地面向对象的 “Cocoa” API,这些API是iOS上手势识别和动画功能的核心,这些功能为iPhone和iPad增光不少。Objective-C还提供了Foundation Kit和Application Kit,用于构建本地的OS X和iOS应用程序。

乔布斯回归苹果公司
微软也有自己的C语言衍生品—— C#(读作“C Sharp”),于2001年发明并作为 .NET框架的编程基础。C#还是编写基于Windows运行时(WinRT)的现代应用程序的基础,WinRT在Windows 10上发展成统一的Windows平台(UWP,Universal Windows Platform)。作为开发Mono(一个.NET 框架的可移植版本)的编程环境,它也被用在Linux和其他Unix衍生系统上。

Windows 10
但是C语言的影响并不仅局限在它的衍生品上。Java这样一个重要的企业级编程语言,在很大程度上也是基于C语言语法(本身也演变为Dalvik和Android运行时,它们是Android最基本的编程环境)。其它语言例如Ruby、Perl和PHP等,它们是构成动态现代网络的基础,也都使用了丹尼斯·里奇发明的 C 语言语法
因此,如果没有丹尼斯·里奇的贡献,现在我们没法用个人计算机,成熟的软件应用甚至是互联网。没有Android智能手机,没有昂贵的DVR和流媒设备,没有乔布斯和苹果创造令人惊叹的Mac和iPad。没有微软的Windows 10和Surface Book。
文件锁flock

今天给大家简单介绍下文件锁flock:
flock通过加锁方式实现互斥访问。在需要单例运行的shell脚本中,或需要考虑数据同步时,flock提供了一种简单办法来实现这一功能:
LOCKFILE="/var/lock/lock_check_sh.tmp"
exec 200>$LOCKFILE
flock -n 200 || {
echo "Another user is doing the same thing,please wait.."
flock 200
}
exec那一行将LOCKFILE和文件描述符200以“写”的方式连接起来(不需要LOCKFILE存在),之后flock尝试获得文件描述符200的锁,-n参数表示如果失败则直接fail而不等待。所以这里如果没有获得锁的话,会输出一条提示信息,然后以阻塞的方式等待获得文件描述符200的锁。
在整个shell脚本执行结束时,文件描述符200会关闭,则其上的锁也就会自动释放。
flock的命令格式如下:
格式:
flock [-sxun] fd#
flock [-sxon] file [-c] command
相关文章链接:







#后期会介绍更多关于C语言与C语言之父的故事,增加你对C语言的兴趣!
觉得不错,请点赞分享或收藏↓↓↓
请关注IT科研室
作者:Kevin一个不端不装有梦有趣的原创文字创作与分享者!
回复

使用道具 举报

519

主题

733

帖子

2198

积分

金牌会员

Rank: 6Rank: 6

积分
2198
发表于 2019-5-14 09:27:29 | 显示全部楼层
感谢大佬们,给的饭碗!不然又得回家种地。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|WWW.BBB258.COM 好.XX.片

GMT+8, 2019-6-17 17:11 , Processed in 1.125000 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表