linux开发学习框架交流学习,linux开发语言 框架

kodinid 15 0

大家好,今天小编关注到一个比较意思的话题,就是关于linux开发学习框架交流学习的问题,于是小编就整理了4个相关介绍Linux开发学习框架交流学习的解答,让一起看看吧。

  1. linux下的api数量那么少,如何编写图形界面?
  2. 能否利用bash for windows学习Linux系统?
  3. 把windows平台下mfc框架的代码移植到linux对编程小白来说难度很大吗?应该学习什么内容呢?
  4. Linux内核开发与Linux驱动开发有什么关系?

linux下的api数量那么少,如何编写图形界面

Linux编写图形界面的话,目前比较流行的就是GTK+、Qt和wxWidgets,前一个基于C语言开发,后两个基于C++开发,下面我分别简单介绍一下,感兴趣的朋友可以尝试一下:

01

linux开发学习框架交流学习,linux开发语言 框架-第1张图片-安济编程网
图片来源网络,侵删)

GTK+

这是一个免费开源跨平台的GUI开发工具包,基于C语言开发而来,著名的GNOME桌面就是***用这个工具开发,自带了大量组件容器,可以轻松布局开发任意Linux桌面程序如果你本身只熟悉C语言的话,可以使用一下这个工具包,非常不错,简单易学,非常容易上手,而且官方自带了丰富的Demo示例,都有源码可供参考和学习:

02

linux开发学习框架交流学习,linux开发语言 框架-第2张图片-安济编程网
(图片来源网络,侵删)

Qt

这是一个免费、开源、跨平台的应用程序开发框架,基于C++开发而来,著名的Linux KDE桌面就***用这个框架开发,自带了可视化设计界面,包含了大量组件和容器,只需简单拖拽、编辑,就可快速创建一个GUI程序,官方资料丰富,社区文档全面,对于Linux桌面开发来说,非常不错,值得使用和学习:

03

linux开发学习框架交流学习,linux开发语言 框架-第3张图片-安济编程网
(图片来源网络,侵删)

能否利用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点解答对大家有用。

标签: linux 开发 内核