1.最近几年,数量庞大的个人和组织放弃 Windows 平台选择 Linux 平台,而且随着人们体验到更多 Linux 的发展,这个数字将会继续增长。在很长的一段时间内, Linux 是网络服务器的领导者,因为大部分的网络服务器都运行在 Linux 之上,这或许是为什么那么多的个人和组织选择迁移的一个原因。
目前, 运行在 Linux 平台上的服务器在数量上远超 Windows,几乎是全世界服务器数量的四分之三,而且这种趋势在最近一段时间内不会改变。因此,许多组织正在将他们的服务完全迁移到 Linux 上,而不是同时使用两种平台,同时使用将会增加他们的运营成本。
2.Qt 是一个跨平台的C++图形用户界面应用程序框架。它提供给开发者建立图形用户界面所需的功能,广泛用于开发GUI程序,也可用于开发非GUI程序。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
基本上,Qt 同 X11上的GTK、Motif、Openwin和Windows上的MFC,OWL,VCL,ATL 是同类型的东西,但是 Qt 支持更多的平台(包括Microsoft Windows、GNU/Linux、Mac OS X、Android、iOS、WinCE、UNIX家族等),面向对象且模块化程度更高(Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单),丰富的API(Qt 包括多达 250 个以上的 C++ 类,还替供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理 功能),支持 2D/3D 图形渲染,支持 OpenGL、大量的开发文档、XML支持等。
3. 虽然Android基于Linux内核,Android是基于精简的Linux内核的并不是同量级的。再说它们两的方向不一样,所以侧重点会不同。Android在Linux内核的基础上添加了自己所特有的驱动程序,它没有本地窗口系统,它并不包括一整套标准的Linux使用程序。
一:内核层。android系统基于Linux内核。Linux内核层为Android设备硬件提供底层的驱动。
二:系统运行库层。通过C/C++库为其提供数据库、3D绘图、浏览器内核的支持等等。android运行时库提供一些核心库,能够允许使用JAVA语言来编写android程序。其中包含Dalvik虚拟机。Dalvik专为移动设备定制,对内存和CPU做出了一些优化处理。
三:应用框架层,提供构建应用程序需要的API。
四、应用层,安装在手机上的应用程序。
为什么要在Linux搭建开发环境呢?从直观来说,Android虚拟机在Linux下运行速度更快,而且性能更稳定。
两个不同的方向了。
哪个内核能驱动最多的硬件设备?答案是 Linux。
4.什么叫嵌入式人工智能?不是说在云端通过联网,在数据中心的大规模的计算去实现人工智能,而是说在本地计算,在不联网的情况下面实时的做环境感知,做人机交互,做决策控制。
5.代码移植一般来讲与代码的可重用性有一定的区别,代码移植往往是将不同平台、不同编译环境的程序代码经过修改转移到自己的系统中运行,这与代码的可重用性有着本质的区别。
最常见的代码移植在PC机上的算法到嵌入式系统中的移植。
源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字。其用于标识客户端请求的服务器和服务。
《网络编程》通过使用套接字来达到进程间通信目的的编程就是网络编程。
所以多线程的意思就是多个线程一起去协同完成一个任务,通过充分去共享资源来达到提升效率的一种编程思想。
利用Linux开发嵌入式系统的关键技术和方法。