![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
长安小新
你为什么就不坚持下去。现在不管是摆地摊还是做开发,你都给我坚持下去。你不要今天摆地摊,遇到了城管,你明天又去当厨师。你当厨师你又觉得油烟对身体有害,又去干出租车司机,不要转来转去。人家的时间都用在了努力,而你的时间却用在了选择,当你将放弃当作一种习惯,你一辈子也不会有出息。
韩老师告诉我们说,成功其实也不难,只要树立一个目标,不需要你是一个很强的人,不需要你很高智商,不需要你是千里马,你只要像老黄牛一样,每天哪怕做一点点,往目标前进一点点,你就会成功。可是成功又很难,因为在通往成功的路上,很少人能够坚持下来,在坚持的过程中,很多人都选择了放弃“
展开
-
Unix环境高级编程阅读笔记(1)
本来今天晚上准备写点读书笔记的,但是的原创 2014-07-07 22:55:31 · 763 阅读 · 0 评论 -
构造新线程,如果是通过封装类来构造,那么封装类的构造函数在主线程中执行
记录一句话:构造新线程,如果是通过封装类来构造,那么封装类的构造函数在主线程中执行原创 2013-05-03 10:09:11 · 767 阅读 · 0 评论 -
Shell 实现 提取特定函数列表,并统计函数被调用次数
写了个脚本,与大家分享下######################################################Author : yelang#Date : 2013-04-17#Desc : 查找所有的头文件,并提取出其中的所有函数,# 将以“ecore_x”开头的函数追加到函数列表。###########################原创 2013-05-03 10:01:49 · 1864 阅读 · 1 评论 -
通过 配置公钥和私钥让Putty自动登陆服务器,但是putty 自动登陆 失败 Server refused our key
putty 自动登陆 失败 Server refused our key。 1. 生成公钥和密钥 :~$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/verdana/.ssh/id_rsa): Enter passph原创 2013-05-03 10:08:00 · 3134 阅读 · 0 评论 -
Android开发过程中,使用镜像如何获得Root权限
使用场景:我在虚拟机安装的Android镜像,然后通过下面的方式获得Root权限。先配置好虚拟机里面的环境,网络能够连接虚拟机中的Android环境。首先要找到控制这个权限的配置文件,就在根目录下面的:default.porp先把这个文件拉出来,adb pull default.prop default.prop打开该文件,将里面的内容ro.secure=1修改为:ro.s原创 2013-05-03 10:04:40 · 1654 阅读 · 1 评论 -
Camera概述
<br /><br />第一部分 Camera概述 <br /> Android 的Camera包含取景器(viewfinder)和拍摄照片的功能 。目前Android发布版的Camera程序虽然功能比较简单,但是其程序的架构分成客户端和服务器两个部分,它们建立在Android的进程间通讯Binder的结构上。 <br /> 以开源 的Android为例,Camera的代码主要在以下的目录中: <br />Camera的JAVA程序的路径: <br />packages/apps/Camera/转载 2010-11-25 23:33:00 · 503 阅读 · 0 评论 -
Camera构架分析
<br />一.Camera构架分析<br />Android的Camera包含取景(preview)和拍摄照片(take picture)的功能。目前Android发布版的Camera程序虽然功能比较简单,但是其程序的架构分成客户端和服务器两个部分,它们建立在 Android的进程间通讯Binder的结构上。Android中Camera模块同样遵循Andorid的框架,如下图所示<br /><br />Camera Architecture<br />Camera模块主要包含了libandroid_run转载 2010-11-25 23:32:00 · 676 阅读 · 0 评论 -
修改Linux的帮助文档,通过修改/etc/manpages.config可以指定语言
修改Linux的帮助文档,通过修改/etc/manpages.config可以指定语言原创 2013-07-24 14:04:53 · 1047 阅读 · 0 评论 -
通过Glib库中的GKeyFile来读取配置文件
系统中的好多配置文件的读取方式都是通过GkeyFile读取的。常用函数如下:g_key_file_new()g_key_file_load_from_file()g_key_file_get_groups()实例代码如下,但是我没有编译通过,不知道缺少了什么参数。我的编译参数是 gcc `pkg-config glib-2.0 --cflags --libs` ma原创 2013-08-02 10:34:24 · 4141 阅读 · 0 评论 -
我到vimrc文件
if has("cscope")set csto=0set cst set nocsverb " add any database in current directoryif filereadable("cscope.out")cs add cscope.out" else add database pointed to by environmentelseif $CSCOPE_原创 2013-08-02 21:46:23 · 676 阅读 · 0 评论 -
glibc和glib 和eglibc的区别
很多人会混淆glibc和glib,简单说一下他们的区别其实严格得说它们几乎没有任何关系glibc是linux下面c标准库的实现,当然linux下面的标准c库不仅有这一个,如uclibc 和 klibc,但是glibc无疑是用得最多的。而glib是GTK+的基础库,它由基础类型、对核心应用的支持、实用功能、数据类型和对象系统五个部分组成,可以在www.gtk.org网站下载其源代码。是一转载 2013-11-14 16:45:40 · 935 阅读 · 0 评论 -
Ubuntu apt安装软件失败的情况
直接删除下面的list就可以了:sudo rm /var/lib/apt/lists/* -vf原创 2013-10-15 11:53:42 · 1763 阅读 · 0 评论 -
git设置颜色
git config --global color.status auto git config --global color.diff auto git config --global color.branch auto git config --global color.interactive auto转载 2013-09-24 17:36:23 · 1256 阅读 · 0 评论 -
字符集描述-宽字符描述
字符串基础 - ASCII, DBCS, Unicode所有的字符串类都起源于C语言的字符串,而C语言字符串则是字符的数组。首先了解一下字符类型。有三种编码方式和三种字符类型。第一种编码方式是单字节字符集,称之为SBCS,它的所有字符都只有一个字节的长度。ASCII码就是SBCS。SBCS字符串由一个零字节结尾。第二种编码方式是多字节字符集,称之为MBCS,它包含的字符中有单字节长的字转载 2013-09-10 17:46:40 · 901 阅读 · 0 评论 -
【转载】Linux下到Lamp安装配置
Linux ubuntu LAMP 安装配置环境-It Works 当然不使用Gnome,使用终端命令也很简单: 直接一条命令:apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql 设置Ubuntu文件执行读写权限 LAMP组建安装好之后,转载 2013-09-09 21:31:20 · 729 阅读 · 0 评论 -
如何不用密码 ssh登陆服务器
配置ssh之前要在本机上装上ssh,可以通过sudo apt-get install ssh或者通过新立德来安装。如果没有进行配置的话,登录到本机或者远程主机需要该主机的密码才行。下面进行无密码登录的配置: 很简单,执行ssh-keygen -t rsa命令,一路敲回车就行了,就在.ssh文件夹下生成了2个文件,一个公钥和一个私钥文件, id_rsa id_rsa.pub ,然后转载 2013-09-07 14:10:39 · 837 阅读 · 0 评论 -
如何快速正确安装 vim的插件
问题:按照网上的方法下载软件包然后解压安装vim插件后,输入命令时还是出现了E492: Not an editorcommand: TlistToggle :原因:插件没有安装好,后来上网找了一个更简单的安装插件的方法:sudoapt-get install vim-scripts然后想安装什么插件都可以输入以下命令:vim-addons install taglist转载 2013-09-07 12:18:13 · 843 阅读 · 0 评论 -
查看源代码的ctags,cscope(1)
<br /><br />Vi大家都很熟悉,某些情况下它是我们在Linux下唯一可用的文本编辑器。其实我们平时所指的VI其实是VIM(ViImproved,VI增强版)。有人常常拿VIM和emacs比较,VIM尽管不象emacs那样有那么多的功能,但是比emacs更方便、好用。VIM简单易用,只要看看VIM自带的vitutor,大约只要20分钟就能掌握VIM的用法。对于Linux下的C/C++的程序员,使用VIM+Ctags的组合来写程序也许是最佳的选择。<br />VI的使用方法这里就不罗嗦了,本文假设大家转载 2010-10-25 23:18:00 · 542 阅读 · 0 评论 -
help cscope (3)
<br /><br />本节所用命令的帮助入口:<br />:help cscope<br />在前面的文章中介绍了利用ctags生成的tag文件,跳转到标签定义的地方。但如果想查找函数在哪里被调用,或者标签在哪些地方出现过,ctags就无能为力了,这时需要使用更为强大的cscope。<br />Cscope具有纯正的Unix血统,它最早是由贝尔实验室为PDP-11计算机开发的,后来成为商用的AT&T Unix发行版的组成部分。直到2000年4月,这个工具才由SCO公司以BSD license开源发行。<b转载 2010-10-25 23:21:00 · 547 阅读 · 0 评论 -
Cscope ---4
<br />Cscope 是一个类似 ctags 的工具。 你可以把它想作是超过频的 ctags,因为它功能比<br />ctags 强大很多。 在 Vim 里,通过 cscope 查询结果来跳转就象跳转到其他的标签完<br />全一样; 它被保存在标签堆栈里。这样你就可以象使用 |tags| 一样在函数等等之间便捷<br />的跳转。<br /><br />1. Cscope 简介 |cscope-intro|<br />2. Cscope 相关命令原创 2010-10-25 23:26:00 · 806 阅读 · 0 评论 -
记录一个开源地址
<br />http://code.im286.com/list/28_1.html原创 2010-09-13 16:52:00 · 429 阅读 · 0 评论 -
Linux的read/write、fread/fwrite、open/fopen区别
<br />1,fread是带缓冲的,read不带缓冲. <br />2,fopen是标准c里定义的,open是POSIX中定义的. <br />3,fread可以读一个结构.read在linux/unix中读二进制与普通文件没有区别. <br />4,fopen不能指定要创建文件的权限.open可以指定权限. <br />5,fopen返回指针,open返回文件描述符(整数). <br />6,linux/unix中任何设备都是文件,都可以用open,read.<br />如果文件的大小是8k。<br /转载 2010-08-31 10:49:00 · 646 阅读 · 0 评论 -
一个守护进程的两种实现
实现守护进程的完整实例(每隔10s在/tmp/dameon.log中写入一句话): ===================================================================== #include #include #include #include #include #include #include #include #define MAXFILE 65535 volatile sig_ato转载 2010-08-30 15:34:00 · 549 阅读 · 0 评论 -
Linux登录验证
<br /> <br />其中passwd 是用户输入的密码,sp->sp_pwdp是从shaodw文件中取得的密文,<br />通过crypt函数把用户输入的明文重新加工为密文,然后比较用户原来的密文,和加工出来的<br />密文是否相同,判断登录是否成功.<br /> <br /> <br /> <br /> char *newpwd; struct spwd *sp; sp = getspnam(name); if (NULL == sp) return 1;转载 2010-08-27 15:29:00 · 690 阅读 · 0 评论 -
有关Linux程序优先级的问题
<br /><br />对应用程序优先级的调整,普通用户只能降低自己程序的优先级,而不能提高.<br />而且普通用户运行程序的优先级最高是0,不会是负数.<br />只能root用户才能提高优先级,其优先级参数能用负数.<br /> <br /> <br />你可以使用 renice 命令从命令行调整一个正在运行的程序的 niceness 值。<br />可以通过调用 nice 函数以编程的方法调整一个运行中的进程的优先级。它的参数会被<br />加在调用进程的 niceness 值上。记住,大于 0 的原创 2010-08-30 17:26:00 · 938 阅读 · 0 评论 -
stat结构体分析
<br /> struct stat { dev_t st_dev; /* ID of device containing file */ ino_t st_ino; /* inode number */ mode_t st_mode; /* protection */ nlink_t st_nlink; /* numb原创 2010-08-28 21:03:00 · 546 阅读 · 0 评论 -
VIM 使用的一些技巧
<br /><br />1、全选高亮显示Linux代码 ggVG 或者 ggvG 命令解释 gg 让光标移到首行,在vim才有效,vi中无效 V 是进入Visual(可视)模式 G 光标移到最后一行 <br />2、全部删除<br /> dG<br /> <br />3、全部复制<br /> ggyG<br /> <br /> <br />VIM格式化代码:<br /> 格式化全文指令 gg=G<br /> 自动缩进当前行指令 ==<br />原创 2010-08-28 18:53:00 · 451 阅读 · 0 评论 -
types.h的作用
<br />很多类型其实都是用typedef重定义的,和基本类型没什么区别,比如那个<br />pid_t好像就是int 型的,<sys/types.h>只是为了定义系统类型(pid_t,size_t等),没别的意思。<br /> <br />这个看在什么系统上了,linux的话,应该stdlib之类的已经自己包含了这个了。但是在solaris 7上面,就需要自己include了。<br /> <br /><br />POSIX标准定义的头文件<br /><dirent.h> 目录项<br /转载 2010-08-28 17:46:00 · 3105 阅读 · 0 评论 -
统调用有多浪费时间???
<br />编译执行下面的代码,并测试以下时间(测试所用文件大小1.9M):<br /> <br />#include <fcntl.h>#include <sys/stat.h>int main(){ char c; size_t nread; int in,out; in = open("ff.pdf",O_RDONLY); out = open("fuck.qh",O_CREAT|O_RDWR,S_I原创 2010-08-28 18:50:00 · 496 阅读 · 0 评论 -
软链接和硬链接的区别
<br /><br />软链接就像一个快捷方式,而硬链接像是复制了一份,但是实际内容还是那一块内容,对一个文件建立好几个硬链接<br />更改其中一个链接里面的内容,其他的也跟着发生改变了,但是如果要删除一个链接,其他不会跟着删除的。<br />硬链接的机制是在文件所在的节点上有一个计数器,建立一个硬链接计数器就加一,删除一个链接文件就减一,知道<br />计数器的的值为0的时候,处于存储器上的文件才被真正的删除了。<br /> <br /> <br /> <br />一 链接文件<br /> 链接有转载 2010-08-28 22:33:00 · 414 阅读 · 0 评论 -
用blkid库探测文件系统的类型
e2fsprogs的工具包当中携带了一个叫blkid的库,可以用来探测一个文件系统的类型。当我们使用mount device mntpoint时候,mount命令自动识别设备的文件系统类型就是通过这个库来完成的。 blkid库通过扫描指定设备上的文件系统特征值来判断是否属于对应的文件系统。在blkid库的源码文件probe.c当中,我们可见这样的结构值:static struct blkid_magic type_array[] = {/* type kboff sboff len转载 2010-09-01 09:37:00 · 4563 阅读 · 0 评论 -
记录一个Python地址
<br />http://www.woodpecker.org.cn:9081/doc/abyteofpython_cn/chinese/index.html原创 2010-09-21 17:37:00 · 413 阅读 · 0 评论 -
LAMP安装网站记载
<br />http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-ubuntu-9.10-lamp<br /> <br />转载 2010-09-03 17:38:00 · 434 阅读 · 0 评论 -
Linux日志及其对应命令
<br />日志对于安全来说,非常重要,他记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志主要的功能有:审计和监测。他还可以实时的监测系统状态,监测和追踪侵入者等等。<br /> <br /><br />在Linux系统中,有三个主要的日志子系统:<br />连接时间日志--由多个程序执行,把纪录写入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。<br /转载 2010-09-17 14:59:00 · 574 阅读 · 1 评论 -
Linux 安装必备
在安装完官方的ubuntu 之后,默认很多功能是没有的,此时,我们需要再安装很多软件中文输入法:sudo apt-get install language-support-zhsudo apt-get install fcitx1 安装小熊猫,ubuntu 下的优化大师sudo add-apt-repository ppa:ailurus sudo apt-get update sudo apt-get -y install ailurus安装小熊猫扩展 wget 'http://github.com/h转载 2010-09-03 16:00:00 · 645 阅读 · 0 评论 -
Linux的段错误是什么以及解决方案
<br />简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址.<br /><br />一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以64位为一个单位的表,在这张表中就保存着程序运行的代码段以及数据段的起始地址以及与此相转载 2010-09-01 14:50:00 · 1511 阅读 · 0 评论 -
PHP默认的上传限定是最大2M
<br />PHP上传文件涉及到的参数<br /><br /><br />PHP默认的上传限定是最大2M,想上传超过此设定的文件,需要调整PHP、apache等的一些参数. 下面,我们简要介绍一下PHP文件上传涉及到的一些参数:<br />file_uploads是否允许通过HTTP上传文件的开关,默认为ON即是开<br />upload_tmp_dirupload_tmp_dir用来说明PHP上传的文件放置的临时目录,要想上传文件,得保证服务器没有关闭临时文件和有对文件夹的写权限,如果未指定则PH转载 2010-09-14 15:38:00 · 758 阅读 · 0 评论 -
如何防止自己的子程序成为僵尸进程
这里利用SIGCHLD信号进行父子进程之间的通信,子进程结束之后,如果父进程还没有结束,子进程就向父进程发送一个SIGCHLD的信号这时父进程利用自己的信号处理函数去清理掉子进程形成的僵尸进程.利用响应信号的 机制,父进程不用执行wait函数阻塞在那里等待子进程的结束.还可以处理sigation之后的代码. 这种机制很好,.#include #include #include #include #include #include sig_atomic_t child_exit_sta转载 2010-09-01 13:47:00 · 835 阅读 · 0 评论 -
记录一个日志函数的地址
<br />http://blog.csdn.net/telehiker/archive/2007/10/18/1830575.aspx原创 2010-09-10 17:30:00 · 531 阅读 · 4 评论 -
unistd.h在windows下面是没有的
unistd.h不是c语言的东西,是linux/unix的系统调用,包含了许多 U N I X系统服务的函数原型,例如 r e a d, w r i t e和getpid函数。在Linux下编写的程序是默认包含这个头文件的,不需要特别的去包含这个文件。但是在windows下面是没有这个东西的,所以在windows下面我们需要自己写一下这个头文件,也很简单,如下:/** This file is part of the Mingw32 package.* unistd.h maps (rough原创 2010-08-28 17:25:00 · 24163 阅读 · 0 评论