
linux
蒙娜丽宁
华为HDE(HUAWEI Developer Experts),UnityMarvel创始人,开放原子基金会银牌讲师,51CTO学堂金牌讲师,IT畅销书作者。从事软件研究和开发超过20年,长期从事编译器、人工智能、Python、Go、JavaScript、Java及跨平台技术的研究和开发工作,曾出版超过40本IT图书。主要著作包括《Python从菜鸟到高手》、《Python爬虫从菜鸟到高手》、《奇妙的Python:神奇代码漫游之旅》。
展开
-
用Linux感觉低效吗?来看看这几个技巧!
Linux已经成为目前最火的操作系统之一,尽管现在的Linux用户很多,但很多使用Linux的同学发现,他们在Linux下的工作效率并不高,那么这是为什么呢?其实使用Linux也可以很舒适,通过一些技巧,也可以让工作效率大大提升。本文将介绍一些有助于提高Linux工作效率的技巧,让我们的工作变得变得更为舒适、优雅。1. 跳转目录随心所欲(1)bd 命令如果当前目录很深,那么要往上跳转多层目录,就需要执行“cd ../../../..”这样的命令,而且不小心还容易弄错层数,显得有点傻。不过使用..原创 2020-05-28 07:26:44 · 1046 阅读 · 1 评论 -
开发可统计单词个数的Android驱动程序(3)
开发可统计单词个数的Android驱动程序(2)八、 指定回调函数 本节讲的内容十分关键。不管Linux驱动程序的功能多么复杂还是多么“酷”,都必须允许用户空间的应用程序与内核空间的驱动程序进行交互才有意义。而最常用的交互方式就是读写设备文件。通过file_operations.read和file_operations.write成员变量可以分别指定读写设备文件要调用的回调函数指针。原创 2013-02-25 04:55:17 · 6550 阅读 · 13 评论 -
Vmware虚拟机的复制后无法使用的问题和解决
我在自己的机器上用Vmware安装的Ubuntu 12.04系统,并在里面部署了Openstack的开发环境,部署的过程有些复杂,不希望再次重复这个过程,于是就复制整个的虚拟机文件到其他机器上面使用,但是在其他机器上用Vmware打开虚拟机文件后跳出了这么一个对话框:这时如果点击“取得所有权”,后面将会遇到更严重的问题,如下图:系统无法正常启动,进入了救援模式。我在网上搜索了一些退出救援模式的方法原创 2013-02-06 09:54:11 · 6487 阅读 · 14 评论 -
开发可统计单词个数的Android驱动程序(2)
开发可统计单词个数的Android驱动程序(1)五、指定与驱动相关的信息虽然指定这些信息不是必须的,但一个完整的Linux驱动程序都会指定这些与驱动相关的信息。一般需要为Linux驱动程序指定如下信息。1. 模块作者:使用MODULE_AUTHOR宏指定。2. 模块描述:使用MODULE_DESCRIPTION宏指定。3. 模块别名:使用MODULE_ALIAS宏指定。4. 开源协议:使用MODU原创 2013-02-17 12:16:51 · 8173 阅读 · 12 评论 -
《Android深度探索(卷1):HAL与驱动开发》实验环境配置与实验资源下载
由于光盘中带的Ubuntu Linux12.04虚拟环境需要CPU支持虚拟化,所有可能有一部分PC无法成功打开虚拟化环境,AMD的CPU也不可以。不过这不要紧,光盘中包含了源代码(sources目录)。只需要将这些源代码放到ubuntu linux的/root/drivers目录中,然后打开源代码根目录中的common.sh文件,在前面找到如下的一行UBUNTU_KERNEL_PATH=/usr/原创 2013-02-24 20:16:55 · 3736 阅读 · 1 评论 -
在Android模拟器和Ubuntu上测试Linux驱动
开发可统计单词个数的Android驱动程序 在上一节已经实现了一个简单的Linux驱动程序,该驱动的功能是统计给定字符串中的单词数。并且在最后已经将该Linux驱动的源代码成功编译成动态Linux驱动模块word_count.ko。下一步就是测试该模块。测试的方法很多,最常用的就是直接在UbuntuLinux中测试。当然,这对于本章实现的Linux驱动是没问题的,但是对于需要直接访问硬件的原创 2013-03-04 22:39:25 · 6964 阅读 · 5 评论 -
使用Android NDK和Java测试Linux驱动
在Android模拟器和Ubuntu上测试Linux驱动三、使用AndroidNDK测试Linux驱动在Android系统中Linux驱动主要的使用者是APK程序。因此,Linux驱动做完后必须要用APK程序进行测试才能说明Linux驱动可以正常使用。由于上一节在Android虚拟机上使用C语言编写的可执行程序测试了Linux驱动,因此很容易想到可以利用Android NDK来测试Linux驱动原创 2013-03-14 08:52:40 · 5187 阅读 · 25 评论 -
Android驱动程序开发和调试环境配置
本文用《Android深度探索(卷1):HAL与驱动开发》的随书源代码为例详细说明如何配置Android驱动开发和测试环境,并且如何使用源代码中的build.sh脚本文件在各种平台(Ubuntu Linux、Android模拟器和S3C6410开发板)上编译、安装和测试Linux驱动。建议读者使用Ubuntu Linux12.04或更高版本实验本文的方法。最好用root账号登录Linux。一、安装原创 2013-03-03 23:08:23 · 7520 阅读 · 8 评论 -
Android双机(网络和USB)调试及其完美ROOT
本文主要讲如下两个内容。1. 如何让一部Android手机带两台PC进行调试。2. 如何完美Root Android手机。 我曾经遇到过这样的问题,Mac OS X上测试Android的系统程序,大家都知道,Android源代码的编译通常需要Ubuntu Linux,所以在Mac OS X上安装了Vmware ubuntu。这样本没什么问题。将Android手机与MBP相连,系统会提示原创 2013-05-05 14:27:17 · 6424 阅读 · 0 评论 -
Android的init过程详解(一)
Android的init过程(二);初始化语言(init.rc)解析本文使用的软件版本Android:4.2.2Linux内核:3.1.10 本文及后续几篇文章将对Android的初始化(init)过程进行详细地、剥丝抽茧式地分析,并且在其中穿插了大量的知识,希望对读者了解Android的启动过程又所帮助。本章主要介绍了与硬件相关初始化文件名的确定以及属性服务的原理和实现。 And原创 2013-04-14 20:06:42 · 8693 阅读 · 4 评论 -
《Android深度探索(卷1):HAL与驱动开发》虚拟实验环境(Ubuntu Linux)及源代码免费下载,不需要CPU虚拟化支持
由于有些同学安装随书光盘虚拟环境时发现CPU不支持虚拟化,所以我特意做了个不需要虚拟化的虚拟环境,使用Virtual Box,Ubuntu Linux10.04 LTS(4G左右)有需要的可以下载使用。该虚拟环境包含了书中所需的实验环境(除了Android源代码,太大,需要自己下,否则得接近20G了)。其他的使用说明详见虚拟环境桌面的readme.txt 用户名:root秘密:12345678 v原创 2013-03-24 21:40:04 · 7248 阅读 · 66 评论 -
可显示Android设备选择列表,并进入指定Android设备Console的Shell脚本
如果PC上连接多部Android设备(包括Android模拟器),在进入Console时还需要使用adb -s deviceid shell。比较麻烦,本文为此编写了一个Shell脚本文件(需要在Linux或OS X下才能使用,windows下需要用bat或cmd从新编写)。原创 2015-05-01 09:52:27 · 4009 阅读 · 1 评论 -
开发可统计单词个数的Android驱动程序(1)
Android本质上是基于Linux内核的系统,也就是说Android就是一种Linux操作系统。只不过大多数时候都会运行在ARM架构的设备上,例如,Android手机、平板等。Android驱动实际上就是Linux驱动,只是这里使用Android深度探索(卷1):安装C/C++交叉编译环境 介绍的交叉编译器将Linux驱动编译成了ARM架构的,所以驱动可以安装在Android模拟原创 2013-01-21 00:16:16 · 4918 阅读 · 2 评论 -
《Android深度探索(卷1):HAL与驱动开发》新书发布
《 Android深度探索(卷1):HAL与驱动开发》分为4篇,分别从搭建开发环境,Linux驱动和Android HAL的基础知识,开发Linux驱动的高级技术和分析典型的Linux驱动源代码4个方面介绍Android和Linux的底层开发。本书使用的试验环境是Ubuntu Linux12.04 LTS、Android模拟器和S3C6410开发板。在第1篇详细介绍了如何搭建和使用这3个试验环境。原创 2013-01-24 23:17:06 · 8156 阅读 · 90 评论 -
在Android(OPhone)模拟器中加载和使用SDCard卡
Normal07.8 磅02falsefalsefalseMicrosoftInternetExplorer4st1":*{behavior:url(#ieooui) }<!--/* Font Definitions */@font-face{font-family:宋体;panose-1:2 1原创 2009-07-28 16:48:00 · 1137 阅读 · 0 评论 -
制作Linux RPM包
RPM是Redhat Package Manage的缩写。透过RPM的管理,使用者可以把SourceCode包装成一种Source和Binary的档案形式。利用它,我们可以用Binary的档案进行安装,用 Source的档案形式重新整理包装。许多Linux爱好者对安装RPM包比较熟悉,但对如何在Linux下制作RPM包不甚了解,因此,我将通过实例,讲解如何在Linux下制作原创 2009-05-19 08:16:00 · 1010 阅读 · 0 评论 -
fedora10 硬盘安装
记得2005年的时候安装的还是redhat9,时光如水,自己却在转了一圈以后回到了原地,很多时候确实需要执着。说远了,估计还是有很多人跟我一样郁闷fedora的硬盘安装的,google上的很多不一定可以在自己本机安装成功。我的这个在我机器上ok了但不一定所有的都可以按照我这样,下面来详细说明:下载Fedora-10-x86_64-DVD.iso 。google一下,到fedora项原创 2009-02-11 11:19:00 · 879 阅读 · 0 评论 -
在applet中访问本地资源
本文为原创,如需转载,请注明作者和出处,谢谢! applet运行在沙盒中,因此,在默认情况下无法访问本地的资源。但可以通过签名的方式打破这一限制。签名的过程很简单,读者可以按如下的步骤编写一个applet程序,该程序读取了本地C盘的a.txt文件的内容,并显示在applet上,然后压缩成jar文件,并签名后进行发布。 下面使用的keytool和jarsigner原创 2009-02-06 21:19:00 · 1015 阅读 · 0 评论 -
使用wxWidgets进行跨平台的C++开发
本文为原创,如需转载,请注明作者和出处,谢谢!Normal07.8 磅02falsefalsefalseMicrosoftInternetExplorer4<!--/* Font Definitions */@font-face{font-family:宋体;panose-1:2 1 6 0 3 1 1原创 2009-01-27 11:20:00 · 1553 阅读 · 1 评论 -
linux下动态库(*.so)的路径问题
本文为原创,如需转载,请注明作者和出处,谢谢! 最近在使用wxWidgets,这是一个跨平台的C++库,在linux下编译成动态库(*.so),如果将编译后的可执行文件发布到其他机器的linux系统中,需要带上.so文件,这就需要设置一下这些动态库的路径,一般可以使用环境变量LD_LIBRARY_PATH来设置,可以在终端中直接输出如下的命令:export LD_LI原创 2009-01-25 14:20:00 · 1318 阅读 · 0 评论 -
快速配置Linux + Eclipse + wxWidgets开发环境
本文为原创,如需转载,请注明作者和出处,谢谢! wxWidgets是一个跨平台的C++开发库,与MFC类似。不过配置起来比较麻烦,如果在Linux下使用Eclipse来开发基于wxWidgets的应用程序需要进行一系列的配置,如设置include路径、library路径等。但我们可以使用一个简单的方法来快速配置wxWidgets。 在wxWidgets发行发中有很多原创 2009-01-25 14:20:00 · 1448 阅读 · 1 评论 -
安装交叉编译环境(ARM处理器)
X86架构的CPU采用的是复杂指令集(Complex Instruction Set Computer,CICS),而ARM架构的CPU使用的是精简指令集(Reduced Instruction Set Computer,RISC)。由于这两种架构的CPU使用了不同的指令集,因此在X86架构上开发可运行在ARM架构上的程序就必须要使用交叉编译器。通常交叉编译器和相关工具包含的了很多可执行文件以及大原创 2012-04-30 09:37:19 · 2094 阅读 · 0 评论 -
如何使Ubuntu Linux 12.04 用root登录
如何使Ubuntu Linux12.04 LTS版可以用root用户登陆1. 用普通用户登录2. 在终端执行sudo -s,然后输入当前登录的普通用户密码,进入到root用户模式3. 执行gedit /etc/lightdm/lightdm.conf4. 添加如下两行代码greeter-show-manual-login=true # 手工录入系统的用户名和密码allow-guest=原创 2012-08-27 12:11:13 · 1943 阅读 · 0 评论 -
Synergy(多台机器共享鼠标键盘)在Ubuntu Linux12.04下的安装
由于工作需要,在Ubuntu12.04和Mountain Lion下安装了Synergy,下载地址http://synergy-foss.org/zh-cn/由于Ubuntu12.04下缺少QT4的GUI Library,所以需要使用下面的命令安装apt-get install ia32-libsok,现在MBP和Dell-PC可以共用一套鼠标和键盘了。要不鼠标好办,键盘就得摞起来放了,哈哈原创 2012-11-04 18:42:33 · 2183 阅读 · 0 评论 -
Android深度探索(卷1):安装C/C++交叉编译环境
X86架构的CPU采用的是复杂指令集(Complex Instruction Set Computer,CICS),而ARM架构的CPU使用的是精简指令集(Reduced Instruction Set Computer,RISC)。由于这两种架构的CPU使用了不同的指令集,因此在X86架构上开发可运行在ARM架构上的程序就必须要使用交叉编译器。通常交叉编译器和相关工具包含的了很多可执行文件以及大原创 2013-01-16 15:52:32 · 6740 阅读 · 8 评论 -
Fedora10无法使用root用户登录的解决方案
本文为原创,如需转载,请注明作者和出处,谢谢! 最近测试fedora10,发现fedora竟然无法使用root用户进行登录,就算root的密码输入正确也不行。虽然大正常的工作中尽尽量避免使用root用户进行登录。但在其他情况,如学习、完成个人的工作等,以root用户登录还是很方便的(如果用其他用户登录会有很多限制)。 最简单的解决方案是修改/etc/pam.d/原创 2009-04-28 10:16:00 · 1255 阅读 · 0 评论