
LINUX
文章平均质量分 77
shenyanxxxy
这个作者很懒,什么都没留下…
展开
-
gcc编译错误总结
avl.c:882: error: conflicting types for ‘avl_is_empty’avl.h:251: note: previous declaration of ‘avl_is_empty’ was here出现上面的错误说明声明和实现的函数名称不对应,比如 extern int f(char *p); 而实现是 int f(char p){}原创 2013-08-06 10:57:27 · 1386 阅读 · 0 评论 -
maven的安装方法
1.首先到Maven官网下载安装文件,目前最新版本为3.0.3,下载文件为apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令;2.进入下载文件夹,找到下载的文件,运行如下命令解压,并安装到/usr/local目录当中tar -xvf apache-maven-3.0.3-bin.tar.gzmv -rf apache-maven-3.0.3 /us转载 2013-08-17 09:26:10 · 780 阅读 · 0 评论 -
linux常见错误的错误码及错误信息对照
一些常见的错误的值,print出来的只有值,对应的错误列表,我在linux内核中找到了,分享出来。对比查看会相对方便。#define EPERM 1 /* Operation not permitted */#define ENOENT 2 /* No such file or directory */#define ESRCH 3 /* No such process *原创 2013-08-06 10:57:39 · 1089 阅读 · 0 评论 -
黑客与画家
优秀的语言拥有内核简洁,设计简单,短小精悍的特点。只有这样,才能够存活于编程语言进化的主干上。像Java的进化已经结束,很难让其他的编程语言继承并延续下去。很多数据结构的存在都与计算机的速度有关。 管理员在2009年8月13日编辑了该文章文章。 --> -->原创 2013-08-06 10:57:36 · 750 阅读 · 0 评论 -
gcc调试segmentation fault的方法
前一阵编了大概3500+lines的代码,一直运行稳定,结果今天出现了segmentation fault的错误,这可怎么办? 用gdb 一行一行调吗? 确实让人头疼,后来发现gdb功能强大,现分享解决方法: 调试方法如下: 1. gcc 编译的时候 -g 2. 执行gdb filename 点击(此处)折叠或打开原创 2013-08-06 10:57:34 · 1992 阅读 · 0 评论 -
常用脚本总结
1.查看.c文件共有多少行代码。find . -type f -name "*.c" | xargs cat | wc -l2.但是如果项目当中含有多级目录,可以采用如下的方法算出包含目录的.h .c文件的代码行数。find . -name "*.[ch]" | xargs cat | wc -l 管理员在2009年8月13日编辑了该文章原创 2013-08-06 10:57:25 · 738 阅读 · 0 评论 -
算法导论-堆排序学习笔记
最开始研究的是大顶堆,父亲节点的值会大于两个孩子节点的值,但是左孩子跟右孩子没有值之间的差异。插入一个元素的时候,整个堆可能不满足堆的性质,所以要调整堆,调整算法如下:MAX_HEAPIFY(A,i)l = Left(i)r = Right(i)if l A(i) largest = lelse largest = iif r A(largest)原创 2013-08-06 10:57:19 · 848 阅读 · 0 评论 -
x86架构-学习笔记
x86-64是x86架构的延续,是64位微处理器架构机器相应的指令集。在x86-64出现以前,Intel与惠普联合推出IA-64架构,此架构与x86不兼容且没什么市场。AMD首次公开64位集为IA-32提供扩展,称为x86-64,后来命名为amd64,后来Intel也采用了这个架构,叫做intel 64.后来这个名字为了不偏袒任何一家,所以起名为x86-64架构,能够将x86架构移植到64原创 2013-08-06 10:57:10 · 2107 阅读 · 0 评论 -
NP完全问题
彩蛋:个人照片放在这里.jpeg 不能排除NP完全问题可以在多项式时间内解决。研究NP完全问题的人非常之多,但是没有人发现任何一个问题的多项式时间解决方案。如果确定一个问题是NP完全问题,那么工程师应该花时间开发一种近似算法或解决某种易处理问题的特例。对每一个NP完全问题的证明思想是:将问题A的任何实力α,转换成B的具有如下特征的某个实例β:1.给定问题A的实例a,利用多项原创 2013-08-06 10:57:08 · 863 阅读 · 0 评论 -
物理内存与Linux 内核学习笔记
这个宏存在于32位的系统当中,由于内核设置1:3,也就是32位能寻址4G空间,1G给内核使用,3G给用户使用。由于内核可使用的内存只有1G,不是所有的物理内存都是可以被内核访问的,这1G为低端内存可以被访问,其他的3G是高端内存也就是ZONE_HIGHMEM,内核无法直接访问。 所有的用户态内存以及内核的文件页面缓存都放到ZONE_HIGHMEM当中。其次再找ZONE_NORMAL这个原创 2013-08-06 10:56:15 · 644 阅读 · 0 评论 -
mmap优缺点
mmap这个函数是和page cache有密切关系的函数之一。 他将一个文件映射到一块内存区域当中。mmap的特点是按需调页。最开始只申请vma,并不调真正的页。当对某些页进行引用的时候,会引起一个缺页中断,再将页面调入到内存当中,这样避免了对内存的浪费。 优点是: 操作文件就像操作内存一样,适合于对较大文件的读写。 缺点是:原创 2013-08-06 10:55:50 · 9257 阅读 · 1 评论 -
vmalloc内核函数分析。
http://www.makelinux.net/books/lkd2/ch11lev1sec5vmalloc 函数常常和kmalloc作为内核申请内存的主要函数,vmalloc申请的内存是内存的虚拟地址是连续的,而kmalloc申请的内存的物理地址是连续的。而内核大多采用kmalloc,主要的原因是由于kmalloc申请的内存是物理上连续的,效率高,而vmalloc申请的内存虚拟地址连续,但是使原创 2013-08-06 10:55:37 · 1066 阅读 · 0 评论 -
apt-get update 更新源Ubuntu 10.10
http://www.startos.com/ubuntu/tips/2010123019307_2.html#官方的Ubuntu 10.10要保留几个用于紧急更新 deb http://security.Ubuntu.com/ubuntu maverick-security main restricted deb-src http://security.Ubuntu.com/ubuntu m原创 2013-08-06 10:55:35 · 676 阅读 · 0 评论 -
linux中数据类型的表示与思考
uint64_t 类型 可以支持64位的无符号数,使用这个关键字,需要引用头文件#include在使用多线程的过程中,pthread_create(&tid,NULL,func,arg);如果只是想传一个数进去,那么可以直接写成pthread(&tid,NULL,func,(void *)arg);然后在实际的func函数中将数据转换回来。void *func(void *ar原创 2013-08-06 10:57:32 · 766 阅读 · 0 评论