大家好,今天小编关注到一个比较有意思的话题,就是关于linux开发学习框架交流学习的问题,于是小编就整理了4个相关介绍Linux开发学习框架交流学习的解答,让一起看看吧。
- linux下的api数量那么少,如何编写图形界面?
- 能否利用bash for windows学习Linux系统?
- 把windows平台下mfc框架的代码移植到linux对编程小白来说难度很大吗?应该学习什么内容呢?
- Linux内核开发与Linux驱动开发有什么关系?
linux下的api数量那么少,如何编写图形界面?
Linux编写图形界面的话,目前比较流行的就是GTK+、Qt和wxWidgets,前一个基于C语言开发,后两个基于C++开发,下面我分别简单介绍一下,感兴趣的朋友可以尝试一下:
01
GTK+
这是一个免费、开源、跨平台的GUI开发工具包,基于C语言开发而来,著名的GNOME桌面就是***用这个工具开发,自带了大量组件和容器,可以轻松布局开发任意Linux桌面程序,如果你本身只熟悉C语言的话,可以使用一下这个工具包,非常不错,简单易学,非常容易上手,而且官方自带了丰富的Demo示例,都有源码可供参考和学习:
02
Qt
这是一个免费、开源、跨平台的应用程序开发框架,基于C++开发而来,著名的Linux KDE桌面就***用这个框架开发,自带了可视化设计界面,包含了大量组件和容器,只需简单拖拽、编辑,就可快速创建一个GUI程序,官方资料丰富,社区文档全面,对于Linux桌面开发来说,非常不错,值得使用和学习:
03
能否利用bash for windows学习Linux系统?
很明显不可以。
我对Linux系统不算特别精通,但也算是得心应手不生疏,我来给你捋一下Linux和bash的关系,你也就知道为什么了。
什么是Bash
Bash本质是一种shell,是一个为GNU项目编写的Unix shell,也就是linux用的shell,它是shell的一种,Linux上默认***用的是bash。比如你在Linux中的终端命令行中所使用的shell就是bash,常用的命令如cd、mv等等。
什么是Linux系统
Linux系统是基于Unix开发的操作系统,并且应用广泛,Linux内核应用于Ubuntu、centos等,使用这种内核的操作系统都可以视为Linux系统大家族的一员。学习Linux需要学习shell命令(不是只有bash)各种结构,各种框架,各种编译程序等等。
为什么不能用Bash For Windows学习Linux系统?
Linux操作系统不是只有Bash,Bash只是Linux中默认的shell,也是很基础的终端命令,而你要学习Linux系统,就要学习Linux概论、目录结构等等一些东西。
用Bash For Windows也并不能完全模拟Linux下的bash命令,你在windows学的仅仅是一些Linux常用的命令,有可能还会应为兼容问题出错。
把windows平台下mfc框架的代码移植到linux对编程小白来说难度很大吗?应该学习什么内容呢?
移植是不可能的,这叫重构。说难也不难,网络编程用的socket API,windows和linux下基本相同。界面只能用QT重写了。如果C基础比较扎实,花个几周时间学一下C++和QT就能上手。当然,首先要弄明白app的业务逻辑,业务逻辑弄明白了,看源代码就要简单得多,甚至不用看源代码。
学习C++和一个框架,比如Qt。
如果真是小白程度,不是存心打击你,这个坑,你爬不出来,至少短时间内爬不出来。
Linux内核开发与Linux开发有什么关系?
Linux设备驱动需要使用内核API来实现,一般被包含在Linux内核源码树中。驱动可以编译到内核,随着内核一起在系统启动的时候被加载。也可以编译成内核模块,在系统运行起来之后动态地加载到内核中,使得调试的时候无需重新编译内核,也无需重启系统,很大程度上方便了驱动代码的调试。但并不是只有设备驱动才能编译成模块,有些内核功能的实现也可以,以便在需要的时候再加载,比如内核中文件系统的实现、加密及校验的实现、网络[_a***_]栈的实现等等。
平时你听到的驱动开发一般指的是开发系统***设备的驱动,使得设备能被内核操控,如USB主从设备、Flash设备驱动、I2C设备驱动、LCD设备驱动、网络设备驱动。平时你听到的内核开发一般就指除了设备驱动之外的开发了,比如Linux系统启动流程、进程管理、内存管理、时间管理、系统调用、文件系统等,但这些部分也在很大程度上被所谓的“驱动开发”所用。
所以,实际上驱动开发只是内核开发的一部分。
linux内核源码研习与项目实战学习地址:***s://ke.qq***/course/431590?flowToken=1013767
到此,以上就是小编对于linux开发学习框架交流学习的问题就介绍到这了,希望介绍关于linux开发学习框架交流学习的4点解答对大家有用。