
linux
onlyonename
这个作者很懒,什么都没留下…
展开
-
linux下C开发中几点技术小总结
转自:http://blog.csdn.net/wallwind/article/details/8801923最近一致致力于linux下的C开发,因为老大是某讯出来的。因此,使用的主要技术都是某讯的基本的后台架构思想。在这段时间,学习到了很多,然后佩服某讯的技术果然很厉害。因此,自我感觉,从头开发我们这个项目,到现在,跟着我这个大牛级的老大学到了不少东西。转载 2013-04-15 23:33:21 · 582 阅读 · 0 评论 -
gnome风格顶端图标删除
In gnome classic you must press both the Alt & Super keys at the same time while right-clicking on the panel/applet you wish to edit, move, or remove. (The Super key is typically the one with the Wi转载 2013-05-28 23:49:29 · 941 阅读 · 0 评论 -
共享内存
转自:http://blog.csdn.net/yanook/article/details/7243306共享内存可以说是最有用的进程间通信方式,也是最快的 IPC 形式。两个不同进程 A 、 B 共享内存的意思是,同一块物理内存被映射到进程 A 、 B 各自的进程地址空间。进程 A 可以即时看到进程 B 对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然转载 2013-06-10 22:55:01 · 516 阅读 · 0 评论 -
GDB调试信号、多线程、多进程
转自:http://blog.csdn.net/yanook/article/details/6585648GDB的功能很强大,本文主要介绍用GDB来调试信号、多进程、多线程,具体如下:(一)信号GDB有能力在你调试程序的时候处理任何一种信号,你可以告诉GDB需要处理哪一种信号。你可以要求GDB收到你所指定的信号时,马上停住正在运行的程序,以供你进行调试。你可以转载 2013-06-12 22:42:26 · 1262 阅读 · 0 评论 -
有趣的数据结构——Linux内核中的链表
转自:http://blog.csdn.net/yanook/article/details/7199513 Linux内核中有很多种链表,如果对每一种链表都使用单独的数据结构去表示,那么需要对每个链表实现一组原语操作,包括初始化、插入、删除等。于是,Linux内核定义了一个很有趣的数据结构:list_headstruct list_head { stru转载 2013-06-12 22:45:11 · 784 阅读 · 0 评论 -
什么是Core Dump?
转自:http://blog.csdn.net/ljx0305/article/details/4065082今天调试一个程序, 用到了core dump, 于是写出来, 记于此.什么是Core Dump?Core的意思是内存, Dump的意思是扔出来, 堆出来.开发和使用Unix程序时, 有时程序莫名其妙的down了, 却没有任何的提示(有时候会提示core dumped转载 2013-06-12 22:49:16 · 579 阅读 · 0 评论 -
Socket 函数集(linux)
转自:http://blog.csdn.net/haoahua/article/details/3389781accept(接受socket连线)相关函数socket,bind,listen,connect表头文件#include#include定义函数int accep转载 2013-07-11 22:55:18 · 779 阅读 · 0 评论 -
用GDB调试程序
转自:http://blog.csdn.net/haoahua/article/details/2056854原文出自陈皓专栏(http://blog.csdn.net/haoel/),非常感谢作者发布这么好的文章.用GDB调试程序用GDB调试程序(一)GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各转载 2013-07-11 22:56:13 · 687 阅读 · 0 评论 -
epoll使用例子
转自:http://blog.csdn.net/haoahua/article/details/2037704名词解释:man epoll之后,得到如下结果:NAME epoll - I/O event notification facilitySYNOPSIS #include DESCRIPTION e转载 2013-07-11 22:56:49 · 597 阅读 · 0 评论 -
文件指针和文件描述符
转自:http://blog.163.com/njut_wangjian/blog/static/165796425201242981639128/ 文件描述符:在linux系统中,设备也是以文件的形式存在,要对该设备进行操作就必须先打开这个文件,打开文件就会获得文件描述符,它是个很小的正整数。每个进程在PCB(Process Control Block)中保存着一份文件描述符表,转载 2013-05-28 23:02:22 · 648 阅读 · 0 评论 -
linux中文件描述符fd和文件指针flip的理解
转自:http://www.cnblogs.com/Jezze/archive/2011/12/23/2299861.html简单归纳:fd只是一个整数,在open时产生。起到一个索引的作用,进程通过PCB中的文件描述符表找到该fd所指向的文件指针filp。文件描述符的操作(如: open)返回的是一个文件描述符,内核会在每个进程空间中维护一个文件描述符表, 所有打开的文件转载 2013-05-28 23:00:36 · 554 阅读 · 0 评论 -
Sleep函数
转自:http://baike.baidu.com/view/2539437.htm简介:函数名: sleep功 能: 执行挂起一段时间用 法: unsigned sleep(unsigned milliseconds);在VC中使用带上头文件#include 在gcc编译器中,使用的头文件因gcc版本的不同而不同#include 编辑本段注意转载 2013-05-26 20:40:11 · 625 阅读 · 0 评论 -
Linux 下C语言简单实现线程池
转自:http://blog.csdn.net/wallwind/article/details/7669132C语言简单实现线程池0 前言网上关于线程池的例子还是不少,简单明了的倒是比较少,看了网上的资料,打算借鉴网上的一些例子,自己实现以下。线程的概念就不多说,首先说一下多线程的好处:多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处转载 2013-04-16 23:24:36 · 720 阅读 · 0 评论 -
GDB的使用方法(推荐)
转自:http://blog.csdn.net/wallwind/article/details/8179500调试程序,快捷的方法就是使用gdb,功能超级强悍。下面一篇文章为经典文章。看了之后,肯定收获不小 一、GDB的静态调试启动方法:1、当需要在命令行通过gdb来启动可执行程序的时候,可使用一下命令: gdb 这个时候gdb会加载可执转载 2013-04-18 23:20:31 · 584 阅读 · 0 评论 -
Linux驱动的地址空间和硬件地址空间说明——摘自华清远见嵌入式园地 .
转自:http://blog.csdn.net/jianchi88/article/details/6982557?reload作者:李强,华清远见嵌入式学院讲师。有这么几个问题,在上驱动课程的时候,我感觉一直困扰着同学们:● 用户程序编译连接形成的地址空间在什么范围内? ● 内核编译后地址空间在什么范围内? ●转载 2013-05-01 23:43:00 · 894 阅读 · 0 评论 -
fork与vfork的区别
转自:http://blog.csdn.net/jianchi88/article/details/6985326fork()与vfock()都是创建一个进程,那他们有什么区别呢?总结有以下三点区别: 1. fork ():子进程拷贝父进程的数据段,代码段 vfork ( ):子进程与父进程共享数据段 2. fork ()父子进程的执行次序不确定转载 2013-05-01 23:43:49 · 455 阅读 · 0 评论 -
linux中硬链接和符号链接的区别
转自:http://blog.csdn.net/zengmuansha/article/details/7814496在实际应用中硬链接和符号链接(即软链接)很难区分,但它们的确是有区别的:硬链接,只能应用于文件,而不能应用于目录,而且不能跨文件系统(即分区);符号链接,可以应用于文件,而且可以应用于目录和可跨文件系统(分区);这是它们在应用上的区别;转载 2013-05-15 23:30:33 · 562 阅读 · 0 评论 -
硬链接和符号链接的区别
转自:http://blog.chinaunix.net/uid-23208702-id-75180.html首先要弄清楚,在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问。链接是一种在共享文件和访问它的用户的若干目录项之转载 2013-05-15 23:31:00 · 574 阅读 · 0 评论 -
Linux下C调用C++接口详解
转自:http://blog.csdn.net/feiyinzilgd/article/details/6723882 C++做久了,经常用C++的方式去思考问题,有时候就突然发现自己不太会写C程序了。写程序的时候,难免会用到第三方插件或者是库,而这些插件或者库很多时候都不能完全满足我们的需求,遇到这种情况,如果全是C++,那好办,写个适配器就OK了,关于适配器模式参考我的博客《C+转载 2013-05-07 23:30:29 · 773 阅读 · 0 评论 -
Linux Epoll介绍和程序实例
转自:http://blog.csdn.net/sparkliang/article/details/47706551. Epoll是何方神圣?Epoll可是当前在Linux下开发大规模并发网络程序的热门人选,Epoll 在Linux2.6内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的。其实在Linux下设计并发网络程序,向来不缺转载 2013-05-07 23:32:33 · 661 阅读 · 0 评论 -
readn writen实现linux下socket缓冲区读写
转自:http://blog.csdn.net/yanook/article/details/6587542socket上的read write 操作不同与一般的文件IO操作,socket上的用read write读写的字节数可能比要求的少,但这并不是错误,原因是socket的缓冲区可能已经达到了极限。此时所需要的就是再次调用read write 以写入或输出剩余的字符。这种情转载 2013-06-26 23:52:34 · 1015 阅读 · 0 评论 -
多线程与fork
转自:http://blog.csdn.net/anxuegang/article/details/6658472前言:exce调用并不创建新进程,所以前后的进程ID并未改变,exec只是用一个全新的程序替换了当前进程的正文、数据、堆和栈段多线程程序里不准使用fork :为什么???UNIX上C++程序设计守则3准则3:多线程程序里不准使用fork在多线转载 2013-06-30 22:56:11 · 588 阅读 · 0 评论 -
自助Linux之问题诊断工具strace
转自:http://www.cnblogs.com/bangerlee/archive/2012/02/20/2356818.html引言“Oops,系统挂死了..."“Oops,程序崩溃了..."“Oops,命令执行报错..." 对于维护人员来说,这样的悲剧每天都在上演。理想情况下,系统或应用程序的错误日志提供了足够全面的信息,通过查看转载 2013-07-25 22:43:44 · 675 阅读 · 0 评论 -
9个tcpdump使用实例
转自:http://www.cnblogs.com/bangerlee/articles/2545612.htmltcpdump能帮助我们捕捉并保存网络包,保存下来的网络包可用于分析网络负载情况,包可通过tcpdump命令解析,也可以保存成后缀为pcap的文件,使用wireshark等软件进行查看。 以下将给出9个使用tcpdump的例子,以说明tcpdump的转载 2013-07-25 22:51:36 · 700 阅读 · 0 评论 -
linux mmap 内存映射 mmap() vs read()/write()/lseek()
转自:http://www.perfgeeks.com/?p=723通过strace统计系统调用的时候,经常可以看到mmap()与mmap2()。系统调用mmap()可以将某文件映射至内存(进程空间),如此可以把对文件的操作转为对内存的操作,以此避免更多的lseek()与read()、write()操作,这点对于大文件或者频繁访问的文件而言尤其受益。但有一点必须清楚:mmap的转载 2013-07-28 23:36:53 · 4301 阅读 · 0 评论 -
Linux xargs命令
转自:http://www.cnblogs.com/wdpp/archive/2012/02/28/2386683.htmlxargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从文件的输出中读取数据。xargs的默认命令是echo,这转载 2013-08-06 22:44:04 · 747 阅读 · 0 评论 -
使用GDB调试Coredump文件
转自:http://blog.ddup.us/?p=176写C/C++程序经常要直接和内存打交道,一不小心就会造成程序执行时产生Segment Fault而挂掉。一般这种情况都是因为数组越界访问,空指针或是野指针读写造成的。程序小的话还比较好办,对着源代码仔细检查就能解决。但是对于代码量较大的程序,里边包含N多函数调用,N多数组指针访问,这时想定位问题就不是很容易了(此时牛人依转载 2013-08-13 22:32:38 · 855 阅读 · 0 评论 -
gdb调试之堆栈跟踪
转自:http://blog.chinaunix.net/uid-27033491-id-3329298.html 在使用gdb调试时,经常要用到查看堆栈信息,特别是在内核调试时,这显得尤其重要。通过gdb的堆栈跟踪,可以看到所有已调用的函数列表,以及每个函数在栈中的信息。----------------------------------------------转载 2013-08-13 22:33:31 · 1332 阅读 · 0 评论 -
设置ubuntu终端的命令行颜色
转自:http://hi.baidu.com/shansharp/item/3586e812d9a36d463b176e0f用ubuntu的终端时间长了会眼花,因为输入和输出都是一个颜色的,当然 ls 不算了,这个还是有颜色的,就想如果终端的输入和输出能用颜色区分该多好啊,google后,搜到的大部分都不是我这个意思。偶然看到一篇,效果凑合吧, 只把命令行提示符的颜色变了一下,转载 2013-09-07 14:45:49 · 3550 阅读 · 0 评论 -
ldconfig命令作用
转自:http://hi.baidu.com/linuxlife/item/94a6c096a1e4184af0421569ldconfig是一个动态链接库管理命令为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfigldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列转载 2013-09-07 14:45:48 · 795 阅读 · 0 评论 -
一个fork的面试题
转自:http://blog.csdn.net/ljx0305/article/details/8039302前两天有人问了个关于Unix的fork()系统调用的面试题,这个题正好是我大约十年前找工作时某公司问我的一个题,我觉得比较有趣,写篇文章与大家分享一下。这个题是这样的:题目:请问下面的程序一共输出多少个“-”?1234转载 2013-07-21 13:57:41 · 596 阅读 · 0 评论 -
Linux Pthread_kill
转自:http://blog.csdn.net/anxuegang/article/details/6636327pthread_kill:别被名字吓到,pthread_kill可不是kill,而是向线程发送signal。还记得signal吗,大部分signal的默认动作是终止进程的运行,所以,我们才要用signal()去抓信号并加上处理函数。int pthre转载 2013-07-02 23:11:44 · 599 阅读 · 0 评论 -
Linux makefile学习
转自:http://blog.csdn.net/anxuegang/article/details/6627742 最近在学习Linux下的C编程,买了一本叫《Linux环境下的C编程指南》读到makefile就越看越迷糊,可能是我的理解能不行。 于是google到了以下这篇文章。通俗易懂。然后把它贴出来,方便学习。转载 2013-07-02 23:10:41 · 724 阅读 · 0 评论 -
Linux 多线程编程(一)
转自:http://blog.csdn.net/anxuegang/article/details/6661468并行的世界,没有同步,就失去了秩序,就会乱作一团!试想,交通没有红绿灯,生产线产品装配没有一定的顺序... 结果是显而易见的。多个线程也需要同步,否则程序运行起来结果不可预测,这是我们最不能容忍的。交通的同步机制就是红绿灯,Pthread提供了互斥量(mut转载 2013-06-30 22:57:04 · 530 阅读 · 0 评论 -
Linux多线程编程(二)
转自:http://blog.csdn.net/anxuegang/article/details/6674192并行的世界,没有同步,就失去了秩序,就会乱作一团!试想,交通没有红绿灯,生产线产品装配没有一定的顺序... 结果是显而易见的。多个线程也需要同步,否则程序运行起来结果不可预测,这是我们最不能容忍的。交通的同步机制就是红绿灯,Pthread提供了互斥量(mut转载 2013-06-30 22:57:42 · 592 阅读 · 0 评论 -
Linux 的多线程编程的高效开发经验
转自:http://www.ibm.com/developerworks/cn/linux/l-cn-mthreadps/index.html#ibm-pcon背景Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微和隐晦的差别。不注意这些 Linux 上的一些开发陷阱,常常会导致程序问题不穷,死锁不断。本文中我们从 5转载 2013-07-15 23:10:16 · 787 阅读 · 0 评论 -
Linux 多线程编程(三)
转自:http://blog.csdn.net/anxuegang/article/details/6674201 继续昨天的线程同步,条件变量(Condition Variables)是用于线程间,通信共享数据状态改变的机制。简介条件变量的创建和销毁等待条件变量唤醒等待条件变量的线程简介 当线程互斥地访问一些共享的状态时,往往会有些线程需要等到这些状转载 2013-06-30 22:58:20 · 537 阅读 · 0 评论 -
linux下C程序获取绝对路径各种方法分析
转自:http://blog.csdn.net/ljx0305/article/details/9152523昨天肚腩群里有人问LINUX下C如何获取程序绝对路径。初看这问题,肚腩觉得很简单啊,就用getcwd或者argv[0]就可以了。写了个程序试试,#include int main(int argc,char *argv[]){ char buf转载 2013-07-16 23:21:02 · 1245 阅读 · 0 评论 -
IO - 同步,异步,阻塞,非阻塞 (亡羊补牢篇)
转自:http://blog.csdn.net/historyasamirror/article/details/5778378当你发现自己最受欢迎的一篇blog其实大错特错时,这绝对不是一件让人愉悦的事。《 IO - 同步,异步,阻塞,非阻塞 》是我在开始学习epoll和libevent的时候写的,主要的思路来自于文中的那篇link 。写完之后发现很多人都很喜欢,我还是非转载 2013-07-01 23:18:24 · 471 阅读 · 0 评论 -
Linux监听子线程的函数
转自:http://blog.csdn.net/anxuegang/article/details/6636400waitpid系统调用】 功能描述: 等待进程改变其状态。所有下面哪些调用都被用于等待子进程状态的改 变,获取状态已改变的子进程信息。状态改变可被认为是:1.子进程已终止。2.信号导致子进程停止执行。3.信号恢复子进程的执行。在子进程终止的情转载 2013-07-02 23:11:12 · 627 阅读 · 0 评论