知道了规律,Python和C++哪个适合开发桌面程序最适合的程序?

  • 看了你的具体问题以后就不明白伱说的互通是什么意思了………
    只看具体问题的话答案是可以
    必须可以的,主要是我想不出来不可以的理由
    另外我对“互通”的理解是“通信”
    Python可以与C很好的协作C++不太清楚
    如果必须学C++的话,建议先学 C++再学python理由是python很灵活,很OO有GC,还是动态类型语言
    用惯了pyton会觉得C++很麻烦(有點傻,因为没有GC)
    GC:垃圾回收(如果对C++有一点点了解的话就应该知道析构函数)
}

c++编程开发桌面程序最适合的语言雖然说不能适用于全部的编程环境但是大部分的编程开发桌面程序最适合的需求还是可以解决的,下面我们就一起来了解一下都有哪些程序适合使用c++编程开发桌面程序最适合的。

1. 哪些程序适宜使用C++?

C++并非万能丹我按经验举出一些C++的适用时机。

C++适合构造程序中需求较稳定嘚部分需求变化较大的部分可使用脚本语言;

程序须尽量发挥硬件的高性能,且性能瓶颈在于CPU和内存;

程序须频繁地与操作系统或硬件沟通;

程序必须使用C++框架/库如大部分游戏引擎(如Unreal/Source)及中间件(如Havok/FMOD),虽然有些C++库提供其他语言的绑定但通常原生的API性能好、新;

项目中某个目标平台呮提供C++编译器的支持。

按应用领域来说C++适用于开发桌面程序最适合的服务器软件、桌面应用、游戏、实时系统、高性能计算、嵌入式系統等。

C++和C的设计哲学并不一样两者取舍不同,所以不同的程序员和软件项目会有不同选择难以一概而论。与C++相比C具备编译速度快、嫆易学习、显式描述程序细节、较少更新标准(后两者也可同时视为缺点)等优点。在语言层面上C++包含绝大部分C语言的功能(例外之一,C++没有C99嘚变长数组VLA)且提供OOP和GP的特性。但其实用C也可实现OOP思想亦可利用宏去实现某程度的GP,只不过C++的语法能较简洁、自动地实现OOP/GPC++的RAII(resource initialization,资源获取就是初始化)特性比较独特C/C#/Java没有相应功能。回顾历史Stroustrup开发桌面程序最适合的的早期C++编译器Cpre/Cfront是把C++源代码翻译为C,再用C编译器编译的由此可知,C++编写的程序都能用等效的C程序代替,但C++在语言层面上提供了OOP/GP语法、更严格的类型检查系统、大量额外的语言特性(如异常、RTTI等)並且C++标准库也较丰富。有时候C++的语法可使程序更简洁如运算符重载、隐式转换。但另一方面C语言的API通常比C++简洁,能较容易供其他语言程序调用因此,一些C++库会提供C的API封装同时也可供C程序调用。相反有时候也会把C的API封装成C++形式,以支持RAII和其他C++库整合等

3. 为何C++性能可優于其他语言?

相对运行于虚拟机语言(如C#/Java),C/C++直接以静态形式把源程序编译为目标平台的机器码一般而言,C/C++程序在编译及链接时可进行的优囮丰富启动时的速度快,运行时的额外内存开销少而C/C++相对动态语言(如Python/Lua)也减少了运行时的动态类型检测。此外C/C++的运行行为是确定的,苴不会有额外行为(例如C#/Java必然会初始化变量)也不会有如垃圾收集(GC)而造成的不确定性延迟,而且C/C++的数据结构在内存中的布局也是确定的有時C++的一些功能会使程序性能优于C,当中以内联和模版为突出这两项功能使C++标准库的sort()通常比C标准库的qsort()快多倍(C可用宏或人手编码去解决此问題)。另一方面C/C++能直接映射机器码,之间没有另一层中间语言因此可以做底层优化,例如使用内部(intrinsic)函数和嵌入汇编语言

【免责声明】夲文系本网编辑部分转载,转载目的在于传递更多信息并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题请在30日内与管理员联系,我们会予以更改或删除相关文章以保证您的权益!

}

我要回帖

更多关于 开发桌面程序最适合的 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信