c++ primer和plus有什么区别_VC++、C++、C和TC有什么区别?

2023-05-16

b2a4d15f84db75b376efad3e91c888f9.gif

VC++、C++、C和TC,这几个语言名中都带有C,可以说和C都有联系。

1C

C就是指C语言。C语言的关键字少,而且拥有丰富的运算符和数据类型,可以解决大部分的“计算型”的问题或者“描述型”的问题。各大操作系统都提供了各种对C语言的集成化的调试编译环境,使用C语言编写的程序可以轻松地运行在各种平台上而不用做出任何修改,这也是C语言流行的原因。

2 VC++

VC++,一般是指微软公司的Visual Studio 6开发套件中的Visual C++开发环境。Visual Studio 6套件中包含了Visual C++、Visual Basic、Visual FoxPro等语言的开发环境。所谓开发环境,是集成了源代码编辑、编译、连接、调试等功能的一个综合程序。

Visual C++就是一个很好的C或者C++开发环境。一般被简称为VC或者VC++。该开发环境提供了优秀的代码编辑功能,同时提供了编译连接程序,在该开发环境中,输入完源代码,可立即编译运行,并且可以参照代码进行调试。

现在Visual Studio已经发展到了Visual Studio.net 2012版本,相对于Visual Studio 6.0又有比较大的改变。笔者平时工作时,一般使用Visual C++开发工具,如图1-4所示就是该环境的一个快照。

图1-4是正在使用Visual C++.net进行调试的一个快照。从图中可以看到当前处于暂停(break)状态,程序运行到“printf("\nPlease input a number(0-100):");”这条语句,当前的变量i_score的值是0。函数的调用过程是:

9.1.exe!main() Line 12 C++9.1.exe!mainCRTStartup() Line 259 + C

对上面提到的一些词语不理解没有关系,这里只是描述这个快照的情况,使读者对集成的编程环境有个感性认识。等读者有了一定的编程经验后,再回头来看就可以明白。如果读者没有安装VC.net,只需要明白编程环境的概念即可。

526cd35d1871adbdbc84297656c33fd4.png

如图1-1所示也是VC.net的一个快照,显示的是汇编语言窗口。从图1-1可以清楚地看到C语言被翻译成的汇编语言以及其对应的机器语言。从图1-1和图1-4中可以看出,VC.net是一个比较方便的开发环境。笔者机器上还安装了Visual Assist X扩展工具,这是一个扩展VC.net环境的一个小软件。从菜单上可以看到Build、Debug菜单项,顾名思义,Build就是编译相关的菜单项,从中可以找到编译需要的一些命令;Debug是调试的菜单项,从中可以看到调试的相关命令。

说明 可以在VC的这个开发环境中进行编译、连接和运行。

对于编译有专门的编译程序,同样,连接也有专门的程序,在VC的安装目录下面可以找到这些程序,而通过开发环境编译连接的时候,由开发环境在后台悄悄地去调用这些程序。从图1-5中可以发现这些程序的藏身之处。其中,cl.exe就是微软的编译器,link.exe就是微软的连接器,它们都可以单独执行。cl.exe执行后的情况如图1-6所示。

C语言于1987年被标准化,称为ANSI C。由于不同软件厂商都可以开发出自己的C语言编译器,在推出的编译器里,多多少少会增加自己的特性,这些特性被称作语言扩展。但是这些编译器都支持ANSI C。如果使用了其中的语言扩展,则在其他编译器上就不能被正确编译。为了不同编译器都能编译同一份源代码,所以应尽量不使用各厂商的语言扩展功能。

250a2a891abbd02c8310796ff2a476db.png

图1-5 VC.net的编译连接程序藏身之处

a935712173e664b2b0bbb15d16e16978.png

所以说,VC++并不是一门语言,而是开发环境。一般来说,现在进行软件开发,都是在集成的开发环境中进行的。当然,如果愿意,也可以单独编辑源代码,然后用命令行的方法编译并连接程序。

3 C++

C++是另外一门有些类似C语言语法的面向对象的高级语言。虽然C语言不加修改就可以被C++编译器编译,但C和C++是完全不同思想的两种语言,不应将C++看成C的超集。

4 TC

TC是Borland公司早年在16位机器上开发的C编程环境,是Turbo C的简称。最后版本是2.0,一般简称为TC2。一般学习C语言,都使用该编程环境,只是这已经算是老古董了,对于现在的操作系统,使用TC2来编写程序已经很不合时宜了。如图1-7所示是TC2开发环境下输入完源代码后编译完毕的状态。

e2bc623f94c858d928ca87b394f55ff6.png

5 其他编译器及环境

Linux下面开发软件主要使用GCC(GNU Compiler Collection,GNU编译器集合),因为它免费。

Windows下面除VC++外,也还有不少其他的C语言开发环境,Dev-C++是一个值得推荐的开发环境,因为它开源。Code::Blocks同样也是开源的。LCC-Win32是免费的C小型编译器,TCC是轻型C语言编译器。

注意 本书使用LCC-Win32作为开发环境

以上内容来自《零基础学C语言》

de036f691655f3e95c553e8d713c4ec6.png

此书已加入到VIP会员卡,只要购买VIP会员卡即可免费阅读上百本电子书,这张VIP卡除了免费让你读书,还有更多的权益等你来领!

【end】

6409452fb72d7b020284c6d02e8b1e1f.png

若想咨询更多电子书或者视频的

也可加入交流群哦~

添加小姐姐微信 备注码书

728219ad9a1c418ef924322f204ab6c2.png

d436c313a3d8540421f74b762280f559.gif
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c++ primer和plus有什么区别_VC++、C++、C和TC有什么区别? 的相关文章

  • CMMI2.0和CMMI1.3有什么区别?

    CMMI资质认证想必已经有不少企业已经了解过了 xff0c 很多企业只了解到CMMI的基础知识 xff0c 却不明白CMMI也有不同的版本 xff0c CMMI1 3版本自动20年10月更改为2 0版本 xff0c 那CMMI的一个版本升级
  • SpringBoot结合MyBatis-Plus快速CRUD笔记

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 DTO amp DO二 示例1 定义Controller2 定义Service和实现3 定义Mapper4 前端访问测试
  • 若依微服务版之集成Mybatis-Plus和Lombok

    目录 一 修改根目录 pom xml二 修改 ruoyi common core 的 pom xml三 去掉 nacos 配置文件中的 mybatis 配置 xff0c 添加 mybatis plus 配置四 添加配置类并注入五 注入类六
  • 使用Mybatis-Plus代码生成器的报错解决

    使用Mybatis Plus的同学 xff0c 在使用代码生成器的时候不知道有没有遇到过这个问题 xff1a 21 36 23 829 main DEBUG com baomidou mybatisplus generator AutoGe
  • ES5、ES6和ES2015有什么区别?

    ES5 ES6和ES2015有什么区别 ES5指的是ECMScript的第五个版本 xff0c 发布于2009年 xff0c 是目前最广泛使用的JavaScript版本 ES6是ECMScript的第六个版本 xff0c 也成为ES2015
  • 看完《C++ primer》后,我都收获了什么?

    文章目录 1 语言只是一个工具2 光学会一门语言还不够3 结语 迫于读研和未来就业的压力 xff0c 我研一上自学了C 43 43 的这门语言 xff0c 自我感觉比较认真的看完了 C 43 43 primer 这本书的大部分章节 xff0
  • 【项目复盘】springboot项目中使用mybatis-plus进行分页

    springboot项目中使用mybatis plus进行分页 文章目录 springboot项目中使用mybatis plus进行分页引入依赖配置类实体类持久层业务层 引入依赖 span class token generics span
  • 在Vue3中使用Element Plus时 el-icon无法显示的问题

    问题描述 按照官方文档安装了icons span class token function npm span span class token function install span 64 element plus icons 然后在页
  • gitee及github有什么区别?

    前言 xff1a 1 目前的最常用的版本控制中心有两种 xff1a SVN和Git xff1b 2 SVN xff1a 集中式版本控制中心 xff0c svn就像是一对多的关系 xff0c 一个仓库供多个人使用 xff0c 而且必须联网才能
  • git add .和git add *有什么区别

    git add 和 git add 区别 git add 会把本地所有untrack的文件都加入暂存区 xff0c 并且会根据 gitignore做过滤 xff0c 但是git add 会忽略 gitignore把任何文件都加入
  • TFmini-Plus在Arduino上的开发例程

    TFmini Plus在Arduino上的开发例程 本例程以Arduino Uno 和 DUE板作为示例 xff0c 主要帮助客户快速熟悉我公司雷达 xff0c 减少产品的研发周期 关于Arduino的详细介绍请参考以下网站 xff1a 英
  • C++Primer 非常适合入门

    C 43 43 Primer 非常适合入门 就像题目所说的那样 xff1a C 43 43 Primer 非常适合入门 这是事实 xff01 xff01
  • 面试问MongoDB和Redis有什么区别?

    MongoDB是一种文档型数据库 xff0c 它以JSON格式存储数据 它适合存储大量的复杂数据 xff0c 例如存储大量结构化数据的应用程序 它提供强大的查询功能和支持分布式部署 Redis则是一种基于内存的数据存储系统 xff0c 它适
  • C++的类和C里面的struct有什么区别?

    C 43 43 的类和C里面的struct有什么区别 xff1f
  • C语言--“.”与“->”有什么区别?

    这虽然是个小问题 xff0c 但有时候很容易让人迷惑 xff0c 因为有的时候用混淆了 xff0c 程序编译不通过 下面说说我对它们的理解 一般情况下用 xff0c 只需要声明一个结构体 格式是 xff0c 结构体类型名 43 结构体名 然
  • 使用Mybatis-plus拦截加密数据

    使用Mybatis plus拦截加密数据 使用自定义注解来标识需要加密的po和字段 xff0c 并通过mybaitsplus的插件工具类Interceptor类来实现对数据的拦截与加密转换操作 一 自定义加密注解 作用在类上的注解 pack
  • *32.什么是DMA方式?什么是中断方式?有什么区别?

    DMA是l O设备与主存之间由硬件组成的直接数据通路 xff0c 主要用于高速I xff0f O设备与主存之间的成组数据传送 xff08 外设快 慢了没意义 然后数据多 xff0c 少了也没多大意义 xff09 首先讲一下外设跟内存进行数据
  • C++Primer Plus第6版&C Primer Plus第6版 中文版免费分享啦

    最近在学习C 43 43 xff0c 用的资料是师兄分享的经典书籍 C 43 43 Primer Plus第6版中文版 的PDF xff0c 自带书签 xff0c 使用很方便 但师兄说这个是他在网上花了积分才下载下来的 xff0c 这让我很
  • mybatis plus 事务回滚总结

    https www cnblogs com c2g5201314 p 13163097 html
  • C++Primer第五版 习题答案 第十八章 用于大型程序的工具(Tools for Large Programs)

    练习18 1 在下列 throw 语句中异常对象的类型是什么 a range error r error throw r b exception p r throw p a range error b exception throw p 此

随机推荐