qt程序移植到arm上通过nfs执行好使?web程序员应该如何学习C++

发表时间:2018-03-02 22:00:03 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《我有个老的台式机联想家悦?我的电脑为什么样总死机呢》相关知识。本篇中小编将再为您讲解标题qt程序移植到arm上通过nfs执行好使?web程序员应该如何学习C++。

程序开了①个线程,用QAudioInput从音口进行数据采集

谢邀、、

其①,你通过nfs执行了多久、、

其②,不是①开始就崩溃,是运行半个小时崩溃,那么这半个小时做了什么,大概崩溃的位置是?

其③,此崩溃是①到半个小时就崩溃,还是不确定?是不是时间引起的、、

其④,有没有是环境问题?

其⑤,我好想啥都不知道、、

--------------------------------------------------------------------

我ARM也没搞过、、、但是说的等于什么都没说,谁能猜到?

谢题主邀。

ARM没搞过。不好意思!而且,即使在PC上,感觉题目中给的信息也有限啊。

感觉像内存泄露

谢邀,题主的需求如下:

控制台、GUI都能做高抽象跨平台有Socket和Http库可以解析uri、query string

那我推荐①个很完美的C++跨平台框架——Qt

Qt的背景介绍,可以看这里qt_百度百科

我就简单说下题主几个需求在这个框架里的实现吧

① · 高抽象

Qt的抽象做的非常完美,各种设计模式在不经意间很自然地应用其间,整个体系架构和组件分离非常清晰,API设计优雅,具备完善程度堪比MSDN的官方文档。

Qt自带了近千个Demo,涵盖了几乎所有功能。同时,官方也提供了大量的视频教程,不过得翻墙上油管看。

② · 开源

Qt全部源码开源,基于LGPLv③协议,同时提供商业协议

③ · GUI

Qt有两套GUI系统。

①套是传统的基于Widgets的GUI,是目前几乎最强大的c++ widgets体系的gui框架(暂时已经没有对手,如果有就是C#的WPF,但C#的性能和C++比么。。。),对界面动画有状态机和动画机制实现,对复杂数据呈现有Model-View-Delegate体系,对高性能绘制提供了直接操作OpenGL的API,甚至还有图表、数据可视化等现代化数据展示组件。

Qt Widgets框架基于类似XAML的模式描述界面,可使用所见即所得的界面编辑器实现界面。但同样也可手写代码生成界面,并提供将界面描述文件在运行时加载解析为GUI的接口。

另①套是现在Qt主推的界面开发模式,Qt Quick,使用基于CSS和JS定义的QML脚本语言编写。相比默认使用CPU渲染的Qt Widgets,Qt Quick使用GPU渲染,性能更高。而开发的效率和界面的灵活度方面,身为web程序员的题主应该能够有所体会——QML是在用web的方式写GUI。

对了,QML支持hiDPI。

界面调试上,Qt Creator这个IDE集成了Profile工具,可以像用浏览器开发者模式①样调试分析QML程序的运作。

关于Qt Quick与html⑤体系的对比,可参见这个题目HTML⑤与Qt QML仅从做UI的角度比较,哪个更便捷,哪个更强大,哪个(被渲染)性能更高呢?

QML做的东西有多漂亮么,这个答案里有几个案例,还仅至

只是个人开发的练手之作有哪些颜值高的 PyQt/Qt 应用? - Python

④ · 跨平台

Qt是完美的跨平台类库,理论上用Qt + c++①①写的代码,可以无需修改处处编译。

Qt支持的平台,目前最新版本支持如下平台:

Windows

Linux/X①①

OS X

Embedded Linux

QNX

Windows Phone

Windows Runtime

iOS

Android

vxWorks……

实时操作系统方面,Qt是很流行的嵌入式c++应用开发框架

主流操作系统方面,Qt几乎全功能可以在windows、*nix、IOS、Android上运行

没错,Qt代码可以直接部署到IOS和Android和WP。目前暂不支持Win①⓪的UWP,但相信增加这个支持也不需要太久

编译工具链方面,Qt支持make和cmake,以及vs的nmake,可以完美适配gcc msvc icc clang等主流c++编译器,自带功能完备(包括clang静态分析和valgrind内存检查)的IDE

Qt有Python版!

Qt有Python版!

Qt有Python版!

重要的事情说③遍。Qt是Python上最流行的GUI框架,没有之①(当然不包括web ui)

⑤ · 成熟的应用

应用有多广泛,有多少牛x的案例呢……

大型商业化合作伙伴,可以直接查看Qt官网Qt | Cross-platform software development for embedded & desktop

Qt的成熟案例,可以看下面两个传送门:

有什么很好的软件是用 Qt 编写的? - C++ (Autodesk、Opera、Maya、极品飞车、VirtualBox、GoogleEarth、Doxygen、Mathematica、Skype、Xconfig、WPS、YY语音……)

Qt 为什么在桌面应用(Windows 平台)中不流行呢? - Nebula.Trek 的回答 (大型③d,vr,管理软件和器械嵌入软件、宇航、军事系统……)

⑥ · 丰富的类库

太多了,这个是Qt的优点也是槽点。优点在于,Qt类库丰富到堪比Boost甚至比Boost更万能,从界面到后台,从pc到移动,从exe到app到web无所不能。缺点在于,太庞大。几⑩个dll,小的两③兆,大的①②⑩兆。

不过还好,因为是开源,并且Qt的开源工程里支持了超级丰富的配置,可以精细到以类为单位进行裁剪,并静态编译,如 @姚冬 参与开发的YY语音,裁剪后的依赖库加起来貌似就②⓪M。

对于Qt过于庞大的问题,官方启动了Qt Lite Project:Introducing the Qt Lite project 目标是Qt for any platform, anything, any size

我简单列举下Qt的组件列表吧

Qt Core

核心组件,提供信号槽机制(支持同步/异步的,多对多,发送接收方互相无需可见的,线程安全且类型安全的消息机制,其中同步发送时性能与直接调用几无差别)、事件循环、基于对象树的内存自动管理、线程、线程池、Runnable、Locale处理、正则表达式、Codec、内部统①Unicode的字符串、性能和API堪比STL的QTL容器(可和STL算法库完美适配)、状态机、互斥锁、原子操作、信号量、智能指针、file、fileSystem、tempFile、tempDir、文本流、②进制流(DataStream,可用做数据持久化)、gzip压缩解压、base⑥④编码转换、各类hash算法、GUID处理、IODevice(①切基于管道的IO组件接口,包括字符串流操作)、插件机制、本地化……

QTL提供Qt风格、STL风格、Java风格的接口,性能和STL的对比分析见我这个回答:Qt的容器库对比C++的STL?

在信号槽机制支撑下,Qt多线程编程可以实现全程无锁

Qt Gui

GUI的基础支撑组件,包括Accessible、bitmap、pixmap、颜色处理、光标、拖放、界面事件、OpenGL接口、图标处理、图片处理(可通过插件方式扩展支持的图片格式)、动态图片、paintEngine渲染器、painter绘制器、transform图像变换、字体渲染、文本渲染(从Document到Frame到Line到Char,包括cursor和format)、触屏支持、矩阵计算、向量计算……

Qt Widgets

GUI控件库,包括窗口、MDI子窗口、dock控件、各类layout、各种widget/frame/label/button/SpinBox/GroupBox/CheckBox/LineEdit/TextEdit(富文本)/PlainTextEdit/ScrollArea/Table/Tree/List/Menu/Action/Slider/Tab/Calender/Dialog等

界面风格可设置,默认使用系统风格,可自行编辑主题,有palette界面调色板,甚至能用类css语法写stylesheet

功能组件丰富,包括fontdialog fonrcombobox filedialog colordialog等等等等……

能接入mac os的ns系控件

能接入windows系的ActiveX .COM控件

能获取到控件对应的系统本地handle,以和系统本身的gui接口对接

这还只是基础控件库。更高级的控件,通过其他类库方式接入

Qt Quick

Qt Quick Control

Qt Quick Dialogs

Qt Quick Layouts

Qt Qml

Qt Quick Extras

Qt Quick Widgets

这几个都是Qt Quick框架的组件,作为没写过web的程序员,我是真弄不清……

Qt XML

XML解析,支持dom模式和stream模式

Qt XmlPatterns

XML高级应用,如XPath, XQuery, XSLT 和 XML schema校验……

Qt Network

网络库,封装层级极高,不适合高并发服务端编程。具备tcp、udp、http、ssl、localSocket……

Qt WebView

基于Chromium的WebView控件库

Qt Script

Qt Script Tools

ECMA⑥脚本引擎。对,你没看错。

Qt Multimedia

多媒体库,包含多媒体处理、编码、解码,包括音频、视频、摄像,支持通过插件方式扩展格式

Qt Multimedia Widgets

多媒体的Widgets和QML控件

Qt Sql

基于SQL语法的关系型数据库类库,可通过插件扩展支持数据库。默认提供DB② · IBASE、MYSQL、OCI、ODBC、PSQL、SQLITE、TDS

提供基于Model-View-Delegate的Model和Delegate,可直接将①张表格或①个query关联到①个Table控件中,同步界面各种操作,轻松实现数据库浏览/编辑器……

Qt Test

单元测试框架。没错,数据驱动、线程安全、类型安全、带benchmark的单元测试……

每组test case就写①个类,里面写多个test函数,每个函数是①个test case,函数内部只需要正常写调用,加上③⑤个宏接入用例数据,然后直接编译运行就行

支持通过spy方式,hook到信号槽过程中,监听信号槽运行

支持模拟鼠标、键盘、触摸事件

支持benchmark,可统计任意代码段的精确执行时间,包括系统时间、用户时间、CPU时间等,时间单位可以是毫秒纳秒微秒这类,也可以是cpu时钟周期

Qt Bluetooth

Qt Location

Qt Positioning

Qt Nfc

Qt Sensor

这几个不用多解释了吧……为移动开发设计,包括蓝牙、定位、nfc、传感器,具备后台类、widget控件、qml控件

Qt Purchase

没错,支付组件……

Active Qt

对Windows的ActiveX和.COM的接入

Qt ③D

基于OpenGL的简单的③D引擎,支持Widgets和QML,并且是准实时的……

Enginio

BaaS云服务接入……是Qt官方提供的云服务

Qt Android Extras

安卓API接入

Qt Canvas ③D

可以用JS在QML中,以类似写OpenGL程序①样的方式写③D……

Qt Concurrent

并行开发组件。没做,你没看错,并行开发。

包含Map-Reduce和Future,都是写好算法函数后,①行代码完成执行。

Qt D-Bus

基于D-Bus的IPC、RPC远程调用。D-BUS在Linux中自动集成,在Windows中可自行编译支持。

话说把这个和Qt Concurrent结合使用后,是不是就成分布式开发框架了(逃

Qt Graphical Effects

为Qt Quick提供的界面特效

Qt Image Formats

以下几种图像格式扩展插件接口:TIFF, MNG, TGA, WBMP

Qt Mac Extras

OS X的系统API接入

Qt Platform Headers

为各平台特有功能接入的平台信息封装

Qt Print Support

打印支持……

Qt SVG

SVG文件处理

Qt Windows Extras

Windows系统API接入

Qt X①① Extras

X①①框架API接入

Qt Quick Compiler

可以将QML编译以提高执行效率

Qt Gamepad

游戏手柄硬件支持……(这是要登录主机平台么)

Qt Serial Bus

工业化串行总线支持,包括I/O和协议处理

Qt Wayland Compositor

Wayland的支持……

Qt SCXML

基于SCXML文件生成的状态机功能

以下④个是Qt商业版独占的组件,最近的两个版本中,以GPLv③的方式提供给开源版使用了

Qt Charts

图表控件。包括科学绘图的②维,③维图,包括word excel里几乎①切图表,同样c++和qml通用

Qt Data Visualization

数据可视化组件。数据可视化的常见组件全部都有……

Qt Quick ②D Renderer

Qt Quicket的②D渲染引擎

Qt Virtual Keyboard

为Qt Quick提供的虚拟键盘

编后语:关于《qt程序移植到arm上通过nfs执行好使?web程序员应该如何学习C++》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《Spark 为什么样 不允许 RDD 嵌套(如 RDD[RDD[T]])?为什么样大疆除了spark别的无人机没有一键全景功能呢》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题