C/C++的前世今生

从单片机到服务器:聊聊C/C++里计时函数clock()的‘前世今生’与现代化替代方案 本文探讨了C/C++中计时函数clock()从单片机时代到现代服务器的技术演进,分析了其在多核处理器和分布式计算环境中的局限性,并介绍了现代化替代方案如clock_gettime和TSC寄存器。文章还提供了根据场景选择计时方案的实践指南,帮助开发者优化性能测量。 阅读详情

既然有C语言,就有A语言,即所谓的ALGOL 60。之后再其基础上发展了CPL语言。
1967年,BCPL在A语言的基础上发展得来。也就是B语言。1972年,贝尔实验室设计者为新的语言去了BCPL的第二个字母,也就变成了C语言。类似的冷笑话层出不穷,比如说C++(即所谓的自然演进),C#(C#比C高出半个音阶)。

C语言的第一个重大贡献是重写了unix。之后,由于C语言的强大可移植性(对那个时代而言),C语言发展迅速。成立C标准委员会变成了一个很急迫的事情。1989年,美国ANSI发布了第一个C语言标准,也就是C89,不过人们习惯称之为ANSI C.1990年,ISO一字不差的照抄了C89标准,发布了C90的国际标准。1999年,ISO又发布了C99,2011年,ISO又发布了C11.

C有很多常见的编译器和IDE.常见的c编译器有GCC(GNU组织开发),MinGW(WINDOWS下的GCC),CLang基于BSD协议开发,基于编译器框架LLVM。也有很多IDE如
CodeBlocks,开源免费的C/C++ IDE
CodeLite,开源、跨平台的C/C++集成开发环境
Orwell Dev-C++,可移植的C/C++IDE
C-Free
Light Table
Visual Stdio系列。

C++是在1983年被贝尔实验室在C的基础上设计的。首先被添加的特性有类的保护成员,类的构造函数和析构函数,友元,内联函数,赋值运算符的重载等。
1985年公布的C++ 1.0中,加入了虚函数的概念,函数和运算符重载,引用,常量等。
1989年发布了C++ 2.0,加入了类的保护成员,多重继承,对象的初始化与赋值递归机制,抽象类,静态成员函数,const成员函数等。
1993年发布了3.0版本。主要加入了模板。
1998年ISO和ANSI推出了第一版本的C++版本。称之为ANSI C++或者是ISO C++ 98标准
2003年通过了C++标准的第二个版本。也成为C++03
2011年,又发布C++标准的第三个版本,成为C++11。
除了VS外,常用的IDE还有Qt-creator。常见的跨平台开发还有Delphi

c++的前世今生 C++的历史起源于1979年,当时Bjarne Stroustrup在AT&T贝尔实验室工作,他的目标是创建一种新编程语言,这种语言能够结合C语言的高效性和灵活性,同时加入面向对象编程(OOP)的特性以提高软件的可维护性和可扩展性。Stroustrup的工作最终导致了C with Classes的诞生,这是C++的前身。到了1983年,C with Classes正式更名为C++,标志着这门语言从C语言的一个增强版转变为一个独立的编程语言。 阅读详情

相关推荐

chmod: changing permissions of `/u01/app/oracle/product/11.2.0/dbhome_1/bin/extjobO‘: Operation not

oracle 11.2.0.4安装psu 29141056,日志末尾抛出报错 Patching component oracle.ctx, 11.2.0.4.0... Applying sub-patch '29141056' to OH '/u01/app/oracle/product/11.2.0/dbhome_1' Patching component oracle.rdbms, 11.2.0.4.0... Patching component oracle.rdbms.rman, 11.2.0.

m0_37625564的博客 1833

C语言的前世今生

了解C语言的发展历程

CST200118的博客 7857

Rockit VDEC解码实战:从零构建高效视频处理流水线

本文详细介绍了Rockit VDEC硬件解码模块在RK3568/RK3588平台的应用实践,涵盖开发环境配置、MPI接口使用、码流发送模式选择、内存管理优化及多路解码系统构建。通过实战案例展示如何利用VDEC实现高效视频处理流水线,显著降低CPU占用率,提升嵌入式多媒体开发效率。

ol789012的博客 305

C语言前世今生

C语言的诞生是和UNIX操作系统的开发密不可分的,原先的UNIX操作系统都是用汇编语言写的,1973年UNIX操作系统的核心用C语言改写,从此以后,C语言成为编写操作系统的主要语言。又因为这个版本是1990年发布的,因此也被称为C90。因为 ANSI 与 ISO 的C标准内容基本相同,所以对于C标准,可以称为ANSI C,也可以说是ISO C,或者 ANSI / ISO C。也正因为C语言的影响力,掌握C语言的人,再学其它编程语言,大多能很快上手,触类旁通,很多大学将C语言作为计算机教学的入门语言。

我只会点灯的博客 3174

CANdb++实战:5步搞定汽车电子DBC文件创建(附信号映射技巧)

本文详细介绍了使用CANdb++高效创建汽车电子DBC文件的五步实战流程,涵盖信号批量创建、报文关联、节点映射等核心技巧。文章重点解析了信号映射中的Motorola/Intel格式选择、多路复用信号处理等高级应用,并提供了从通信矩阵到可测试DBC的完整案例,帮助工程师大幅提升工作效率。

ss78901的博客 944

TSP、MTSP问题遗传算法详细解读及python实现

写在前面 遗传算法是一种求解NPC问题的启发式算法,属于仿生进化算法族的一员。仿生进化算法是受生物行为启发而发明的智能优化算法,往往是人们发现某种生物的个体虽然行为较为简单,但生物集群通过某种原理却能表现出智能行为。于是不同的人研究不同的生物行为原理,受到启发而发明出新的仿生进化算法。比如免疫优化算法,蚁群算法,模拟退火算法等,这些算法以后也会简单介绍。 本文的主题是遗传算法,该算法也是受到生物行为启发。物竞天择,适者生存,优胜劣汰,是该优化算法的核心思想。笔者在业务中需要用到遗传算法求解TSP问题,但是网

weixin_47675950的博客 9306

【c++】c++背景(c++的前世今生)

【c++】c++背景(c++的前世今生)

m0_74722801的博客 3668

华为2022数字芯片笔试题

单选 1、ASIC开发流程中,如下环节的先后顺序是? A. RTL-> Synthesis->P&R B. Synthesis->P&R->RTL C. Synthesis->RTL->P&R D.RTL->P&R->Synthesis 2、o10换算成十进制是多少? A. 8 B.16 C.10 D.2 3、reg [7:0] mem [1:256];initial $readmemh("me..

weixin_44072819的博客 1万+

C++和C语言的前世今生,两者有什么血缘关系?

C语言虽说经常和C++在一起被大家提起,但可千万不要以为它们是一个东西。现在我们常用的C语言是C89标准,C++是C++99标准的。C89就是在1989年制定的标准,如今最新的是C11和C++11标准。根据不同的标准,它们的功能也会有所不同,但是越新的版本支持的编译器越少,所以本文在讨论的时候使用的C语言标准是C89,C++标准是C++99.我们来介绍C语言和C++中那些不同的地方。 早期并没有”C++“这个名字,而是叫做”带类的C“。 ”带类的C“是作为C语言的一个扩展和补充出现的,目的是提高开发效率,如

kaikeba的博客 490

内存预取黑科技:__builtin_prefetch在数据库和游戏开发中的高阶用法

本文深入探讨了GCC内置函数`__builtin_prefetch`在数据库和游戏开发中的高阶应用。通过LevelDB的SSTable文件读取优化和UE5引擎场景数据流式加载的实战案例,详细解析了预取参数调优的艺术,并借助perf工具量化分析了不同策略的性能提升效果。文章还介绍了与`__builtin_expect`等内置函数的协同优化技巧,帮助开发者最大化缓存命中率。

weixin_29019241的博客 415

046篇:数据统计:分组、求和、平均值、最大最小值

本文介绍了在RPA中实现数据分组统计的方法。通过字典+循环组合,可以完成按单字段或多字段的分组聚合操作,包括求和、计数、求平均值及最大/最小值等。文章详细讲解了分组统计的原理,并提供了单级分组、多级分组的具体实现步骤,最后通过销售数据按月分组的实战案例,演示了如何从原始数据到生成汇总报表的完整流程。这些方法可以灵活应用于各类数据统计分析场景。

weixin_59649563的博客 214

C++的前世今生

什么是C++?可以说C++之所以成为C++,很大程度上是因为它是一种面向对象的计算机语言。 面向对象相对于面向过程简直是太优越了,这正是C++自出生以来就备受追捧的原因。当没有面向对象的编程思想时,人们编写程序都是用面向过程的思想的,比如实现1+1=2,很简单,写具体过程的算法即可,但是随着计算机技术的不断提高,人们对软件的期望越来越高,面向过程的编程已经很难满足复杂的软件编写了,因此出现了面向对

SYSU_yzt的博客 703

【STM32实物】基于STM32设计的智能仓储管理系统

近年来,随着我国仓储发展的和药品需求的不断增多,许多医院都采用药物仓储管理系统。我国的药物仓储产业已经有了长足的发展,仓库的规模不断变大,对仓储的要求也不断增高,药物的存储,识别以及对仓储环境条件的要求成为仓储的重要决策,他们可以根据不同的特点在不同场景中使用。本文详细介绍了一个基于单片机技术的智能仓储管理系统的设计与实现,这个系统可谓是集射频识别(RFID)技术和环境监测传感器于一身,旨在提高仓储操作的自动化和精确度。

嵌入式阿齐Archie 1万+

C/C++指针的前世今生

指针是一种抽象的思想,是一种数据类型,用于表示内存中的地址,就像int,double,string一样;指针变量是一种变量,用来存储地址数据。指针常量(T *const):指针的地址不能修改,指向的数据可以修改。常量指针(const T *):指向的数据不能修改,指针的地址可以修改。常指针常量(const T *const):指针的地址和指向的数据都不能修改。

m0_71489826的博客 2233

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

C/Cpp 中 Hello World 的前世今生

在程序界,似乎有一个不成文的规定,不管是学啥,都要先写一个 Hello world, 要是写成功了,那就证明,你对这个东西已经了解了大半;要是失败了,那就得继续加油。 那么在 C/Cpp 世界里,一个 Hello World 的程序,究竟是如何把我们写的那三两行代码转变成一个输出呢?这里面代码是如何转化的,又是如何被搞成一个可执行文件,系统又是如何调用这个程序的呢? 书中总是告诉我们,一段代码...

卖鱼的小白菜的专栏 626

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

C/C++左值性精髓 左值的前世今生

C/C++左值性精髓 (一) 左值的前世今生         左值(lvalue)是C/C++表达式的属性。只有针对一个表达式,才能谈论其左值性。         左值性由来已久,早在世界上第一个C标准C89出现之前就已经存在了。早期的定义是基于内置赋值运算符的需求的,能作为赋值运算符的左操作数的表达式属于左值,只能作为右操作数的表达式属于右值(rvalue),左值、右值中的左右两字来源

zhaodw2099的专栏 633

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

C/C++数据结构(七) —— Tree的前世今生

初始树的基本概念、常用术语

Edison's 小宇宙 1万+

【c/c++】详解size_t的前世今生

补充一点: 在标准库中的定义是typedef unsigned int size_t; 即可以用size_t定义当前运行环境下的无符号整形 这保证了跨平台的兼容性,但是也要注意到这里的位数是不相同的 关于typedef可以参考:详解typedef 首先可以打开stdio.h文件查看一下size_t的定义: 找到size_t的定义:这个文件中没有找到 但是找到了size_t的...

... 505

「收藏级」指针的前世今生:写给所有被C/C++折磨过的人

收藏级」指针的前世今生:写给所有被C/C++折磨过的人

Henry313的博客 1246

ADS2016子电路封装全攻略:从原理图到可复用Symbol

在射频与微波电路设计中,模块化设计思想正成为提升复杂系统仿真效率的关键。子电路封装技术允许工程师将重复使用的匹配网络、偏置电路等封装为独立模块,通过自定义Symbol和端口映射实现“一次设计,多处复用”。在ADS2016中,合理的子电路封装不仅解决了多路设计中的参数统一修改问题,还通过参数化设计让同一模块适配不同工作条件,并结合设计库管理实现团队协作时的版本控制与跨工程调用。掌握子电路封装,能够显著简化顶层原理图的可读性,降低多人协作时的冲突概率,同时为后续的调谐与优化提供清晰变量接口。本文从基础概念出发,

weixin_34389926的博客 235

C/C++左值性精髓(一) 左值的前世今生 zz from 优快云 supermegaboy

C/C++左值性精髓 (一) 左值的前世今生           左值(lvalue)是C/C++表达式的属性。只有针对一个表达式,才能谈论其左值性。         左值性由来已久,早在世界上第一个C标准C89出现之前就已经存在了。早期的定义是基于内置赋值运算符的需求的,能作为赋值运算符的左操作数的表达式属于左值,只能作为右操作数的表达式属于右值(rvalue),左值、右

fuxiang的专栏 663

windows技术基础知识

字符集其实就是一个预先定义好的表格, 里面将每个文字都罗列出来,并且为每个文字指定一个独一无二的数字来代替。以淬渊阁中的“淬”举例:ASCLL:这个编码无法表示中文,所以他的字符集找不到Unicode:十六进制: 0x6DEC十进制:28140二进制:0110 1101 1110 1100字母A举例:ASCLL:十六进制: 0x41十进制:65二进制:01000001Unicode:十六进制: 0x41十进制:65二进制:01000001。

u011374344的专栏 1664

《C++初阶之入门基础》【C++的前世今生】

本文系统梳理了C++的发展历程,详述了Bjarne Stroustrup如何结合OOP思想设计出“C with Classes”,并于1983年正式命名为C++。通过关键版本演进(如C++98引入STL、C++11带来现代特性、C++20革新模块化编程),展现了C++从高效系统语言到多范式语言的蜕变。

序属秋秋秋的博客 4040

C++之今生前世

文章目录0 总结1 诞生2 C++的优缺点2.1 缺点:2.2 优点:2 目前使用群体3 C++ 204 C++之父介绍4.1 工作经历4.2 爱好4.3 建议4.3.1 平衡4.3.2 出色的程序员 0 总结 本次内容源自InfoQ技术实验室对C++之父Bjarne Stroustrup的一次采访【2019年Bjarne Stroustrup来中国上海出差之时】。 1 诞生 Bjarne Stroustrup刚工作进入贝尔实验(每年写一张纸来汇报自己这一年做了什么),原本想创建一个分布式系统,但是由于没有

韩江雪de 小屋 612

【C++】祖师爷赏饭吃之C++的前世今生

C++发展史,C++文档,C++的现实应用

Xie_sheng的博客 858

c jave等语言作用,编程语言的前世今生,看 Java、C、C++ 等语言的演变

原标题:编程语言的前世今生,看 Java、C、C++ 等语言的演变 我们经常说“学习编程”,但是是学习什么大家知道吗?今天就来为大家理一下思路,了解编程语言有哪些,它的来历是怎样的~方便大家对编程更加了解,能够找到自己的方向。首先让我们追溯到 19 世纪,编程语言形成之前。这是现代编程语言的祖先——雅卡尔织布机 织布机由法国著名织机工匠约瑟夫·玛丽·雅卡尔于 1801 年设计完成,她创造出了第一个...

weixin_42116805的博客 243
上一篇: JAVA C# C/C++之比教学:编译机制
下一篇: C++和C的不同
define_us
博客等级 码龄14年 157粉丝 531原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值