C/C++存在哪些特点?

开课吧小一2021-03-31 17:18

点赞
有用
分享分享

众所周知C/C++与其他编程语言例如Java、Python等相比,距离操作系统更加近,并且执行效率也比较高,但也因此C/C++存在一些特点,毕竟有得必有失。那么C/C++存在哪些特点呢

C/C++存在哪些特点?

C/C++ 整套的语法不具备“功能完备性”,单纯地使用这门语言本身提供的功能您无法创建任何有意义的程序,您必须借助操作系统的 API 接口函数来达到相应的功能。当然,随着 C++ 语言标准和版本的不断更新升级,这种现状正在改变;而像 Java、Python 这类语言,其自带的 SDK 提供了各种操作系统的功能。举个例子,C/C++语言本身是不具备网络通信功能的,必须使用操作系统提供的网络通信函数(如socket系列函数);而对于Java来说,其 JDK自带的 java.net 和 java.io 等包则提供了完整的网络通信功能。我在读书的时候常常听人说,QQ、360安全卫士这类软件是用 C/C++ 开发的,但是当我学完整本 C/C++ 教材以后,仍然写不出来一个像样的窗口程序。许多过来人应该都有类似的困惑吧?其原因是一般 C/C++ 的教材不会教你如何使用操作系统 API 函数的内容。

正因为 C/C++ 语言需要直接使用了操作系统的接口功能,这就造成了 C/C++ 语言繁、难的地方,如操作内存方面不当容易引起程序宕机,不同的操作系统的 API 接口使用习惯和风格也不一样,接口函数种类繁多,开发者如果想开发跨平台的程序,必须要学习多个平台的接口函数和对应的系统原理。

C/C++存在哪些特点?

在应用层开发,直接使用操作系统的接口的函数,往往执行效率高,控制力度大,您的开发能力仅仅限制于操作系统本身,Java 这类语言,很多功能即使操作系统提供的,如果 Java 虚拟机不提供,开发人员也无法使用。正如著名的编程大师 Charles Petzold 说的:显而易见,究竟用哪种方式编写应用程序最好,其实并无一定之规。应用程序本身的特性应该是决定采用何种编程工具的最主要因素,但是无论将来你采用什么样的编程工具,通过了解操作系统 API 从而深入理解操作系统的工作原理,这本身就有很重要的意义。操作系统是一个非常复杂的系统,在 API 之上加一层编程语言并不能消除其复杂性,最多不过是把复杂性隐藏起来而已。说不定什么时候,这种复杂的那一面迟早会蹦出来拖你的后腿,懂得系统 API 能让你到时候更快地挣脱困境。在基本操作系统 API之上的任何软件层或多或少都会限制你使用操作系统的全部功能。比如,你或许发现采用 Visual Basic 来编写你的应用程序非常理想,但是就有那么一两项非常基本的功能 Visual Basic 无法支持。往往这个时候你得非要调用基本 API 。作为直接使用操作系统 API 的程序员,我们的活动空间完全由 API 来规范,再没有什么其他方式比直接调用 API 更有效、更灵活多样了。

C/C++语言的优点是执行效率高、发挥空间大,但缺点在于需要经过长时间的深入学习,并且在代码编写方面很负责容易出错。需要了解的是:C/C++的开发核心是建立在直接调用操作系统API的基础上的。

以上就是小编今天为大家整理发布的“C/C++存在哪些特点?”一文,想要了解更多C/C++内容尽在开课吧广场C/C++教程频道。

有用
分享