点滴中的linux
文章平均质量分 66
对linux的点滴进行解析,对操作方式的一种诠释。
Hosea14
这个作者很懒,什么都没留下…
展开
-
[开发]Github--Tool
本文,记录在学习github的一些技巧和工具使用方式。Git 比较不同版本文件差异的常用命令格式:git diff 查看尚未暂存的文件更新了哪些部分git diff filename 查看尚未暂存的某个文件更新了哪些git diff –cached 查看已经暂存起来的文件和上次提交的版本之间的差异git diff –cached filename 查看已经暂存起来的某个文原创 2017-05-28 21:52:29 · 412 阅读 · 0 评论 -
[笔记]linux内存管理机制
感觉这个内存管理的知识点还真的需要找大神解析一下,决定写一篇博客:要求不涉及linux内核的汇编知识,仅C语言层面解析回答:汇编主要处理的是寄存器地址(包括内容)的计算,进行一部分的地址转换工作(当然,它是重要的);C语言处理了极大部分的系统内存管理工作。虚拟地址、线性地址、物理地址三者映射关系回答:虚拟地址:程序员(在缩小范围估计是:应用程序员)直接看到的线性原创 2017-07-03 10:53:31 · 525 阅读 · 0 评论 -
[Linux]Pthread
本文,记录linux-pthread学习。这是新的笔记方式,着重直接应用、调试思考,直接面向产出。快速掌握api流程(运行与调试apue-threads代码示例)打印pthreadidpthread_creategetpid:在此例子,用于观察两个线程的进程号是否相同pthread_self返回线程ID,打印需要使用%lu,不然出奇怪错误,同时转为long输出观原创 2017-07-03 11:00:27 · 457 阅读 · 0 评论 -
[Linux]termios
本文,记录Linux-termios基础应用开发。快速api调试流程(apue-termios)fig18.10:更改特殊字符,禁用中断字符,文件结束符设置为ctrl+b检验程序结果比较麻烦中断字符是ctrl+c,这样,直接在该程序里面加入while(1);,然后运行,发现无法再使用ctrl+c中断程序了文件结束符,暂时未测试isatty,检测是否为终端设备原创 2017-07-20 06:54:31 · 436 阅读 · 0 评论 -
[Linux]termios-serial develop(串口编程)
讨论需要真实物理连接同一台电脑,两个串口相连,测试通信,使用何种物理通信线来相连?链接、链接、链接设想是,利用同一个电脑上两个串口,一个vm-host,一个host,两者通信,vm启动程序,host启动串口助手,这种情况,需要真实的物理接线。一个linux串口(不是vm,而是真实host),一块单片机,连接(跟实际开一样,但跟测试不一样)不需要真实物原创 2017-07-20 06:55:14 · 692 阅读 · 0 评论 -
[Linux]C程序运行时环境
可能回答问题解释main函数参数及其返回值,怎么获取main的返回值,有什么作用?printf是怎么实现传参的?然后,它是怎么去找到format格式里面对应的参数的?函数调用的堆栈映像是怎样的?int fun(){int a=1,b=1, x; x=a+b: return;}有什么结果?如果能够编译的话,会返回数值吗?返回什么数值?参考文章C和指针,18章(讲解非常好)原创 2017-09-29 09:42:48 · 1240 阅读 · 0 评论 -
[Linux]进程与线程
本文,主要是集中讲述进程通信和线程同步的几种方式和模型,它们分别在那些使用场景和适用条件。进程通信(APUE 15/17章):注意,这里是进程间通信是指:同一台计算机的进程使用场景管道匿名管道(pipe族):只能在两个相关进程使用,并且这两个相关进程有一个共同的祖先进程。命名管道FIFO(mkfifo族):不相关的进程也能交换数据。消息队列:原创 2017-10-03 08:58:44 · 306 阅读 · 0 评论 -
[Network]网络协议结构体及文件
本文,集中汇集了各个协议头部,通过理解头部,可以帮助理解网络协议的组成,或者应用开发等。 然而,一开始学习的时候,发现在/usr/include目录里面,子目录Linux和netinet都分别有定义网络协议的相关文件。后来:whats-the-practical-difference-between-the-headers-linux-in-h-and-netinet-in,链接原创 2017-10-05 18:44:28 · 1021 阅读 · 0 评论 -
[Network]TCP
写在文章的开头 本文,开始在2017/10/4 10:14,源头是针对网络传输问题的来龙去脉进行理清,问题的描述可能会是彼此关联的。思考该类问题,应该可以彻底理解为什么TCP会这样设计(毕竟我在回答问题的过程中,会有所发现:因为存在这样的问题,而恰好找到这样的设计可以解决);可惜,哪怕在完美的设计也会进一步造成新的问题。所以,问题的描述可能会彼此关联的原因正是如此。原创 2017-10-06 14:10:26 · 514 阅读 · 0 评论 -
[Linux]锁机制
本文,记录Linux-pthread-lock-mechanism(锁机制)。6.8Linux内核并发机制 202页,讲述非常清晰,带内核API表单其实,起草本文的时候,我是压根不知道写什么的,后来发现,可以解决Linux各种锁的实现原理Linux底层锁的实现代码操作系统课程里面,锁机制,两个操作称为:PV操作什么是PV操作,链接P是加锁V是原创 2017-10-06 19:35:19 · 584 阅读 · 0 评论 -
[Linux]多路IO复用
本文,记录多路IO复用的使用。顺序接口示例(CS模型示例)IO多路复用之select总结,链接IO多路复用之epoll总结,链接应用模型(事件驱动)使用事件驱动模型实现高效稳定的网络服务器程序,链接对比分析(select和epoll)select、poll、epoll之间的区别总结[整理],链接Linux下epoll对于select所做的改进总结原创 2017-10-07 13:44:50 · 690 阅读 · 0 评论 -
linux vim 笔记(部分取自vim编译器资料)
本文讲述了vim基本用法原创 2015-10-04 15:33:34 · 554 阅读 · 0 评论 -
linux 终端 常用快捷键
以下字母不分大小写:Ctrl + A:Ctrl + E:Ctrl + D:Ctrl + Z:Ctrl + C:Ctrl + U:Ctrl + D:Ctrl + A:Alt + A:原创 2016-03-10 21:54:42 · 564 阅读 · 0 评论 -
linux-tar(转)
linux tar 打包命令解析:(转)范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar[root@linux ~]# tar -cvf /tmp/etc.tar /etc [root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc [root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /转载 2016-03-12 11:40:09 · 412 阅读 · 0 评论 -
tslib 1.4 在ARM板上移植(转)
1.首先从网上下载的tslib-1.4.tar.gz2.解压 tar xvzf tslib-1.4.tar.gz ; cd tslib3.生成configure,这里比一般的开源项目少做一步,要先运行解压目录下的脚本./autogen.sh4.用configure 生成Makefile.生成脚本./configure --host=arm-linux --prefix=/h转载 2016-03-12 11:57:44 · 1500 阅读 · 0 评论 -
linux-cp(转)
转载自:http://www.linuxso.com/command/cp.htmlcp (复制档案或目录) [root@linux ~]# cp [-adfilprsu] 来源档(source) 目的檔(destination) [root@linux ~]# cp [options] source1 source2 source3 …. directory 参数:转载 2016-03-12 22:30:18 · 356 阅读 · 0 评论 -
linux-export
Linux export命令功能说明:设置或显示环境变量。语 法:export [-fnp][变量名称]=[变量设置值]补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该次登录操作。参 数:-f 代表[变量名称]中为函数名称。-n 删除指定的变量。变量实际上并未删除,只是原创 2016-03-13 22:53:00 · 388 阅读 · 0 评论 -
linux-vim编辑器笔记(长期持续更新)
2016/3/14:网站参考:http://jingyan.baidu.com/article/046a7b3efd165bf9c27fa915.html 通过百度百科,学习简单配置设定:包括如下内容1)安装精简版2)vim配置文件:/etc/vim/vimrc 提示:需要管理员权限修改配置syntax on //语法高亮set原创 2016-03-14 11:33:12 · 510 阅读 · 0 评论 -
linux-qt-qmake
基本步骤:pro文件使用1)指定cpp文件2)指定cpp所需的.h头文件3)指定可执行程序的文件名4)设置config变量:使用qt平台则添加相关的库与头文件到makefileconfig:变量用于控制编译过程5)利用此pro,输入qmake -o Makefile XXX.pro6)生成Makefile后,输入make编译原创 2016-03-14 13:20:28 · 933 阅读 · 0 评论 -
linux c 共享内存编程
1)http://blog.chinaunix.net/uid-26000296-id-3421346.html linux 进程间共享内存基本知识(概念,函数,头文件包含等)2)http://blog.chinaunix.net/uid-26498888-id-3270926.html 使用linux共享内存机制完成Qt与应用程序之间的通信原创 2016-04-14 09:22:23 · 541 阅读 · 0 评论 -
linux socket 博客汇集
socket编程知识汇总原创 2016-04-20 18:54:04 · 529 阅读 · 0 评论 -
linux Makefile 博客汇集
linux Makefile 汇集原创 2016-04-21 14:19:32 · 386 阅读 · 0 评论 -
linux 静态库与动态库 博客汇集
linux 静态库与动态库 博客汇集原创 2016-04-30 21:39:20 · 391 阅读 · 0 评论 -
linux 多线程 博客汇总
http://blog.csdn.net/monkey_d_meng/article/details/5628663http://www.ibm.com/developerworks/cn/linux/l-cn-mthreadps/http://www.linuxidc.com/Linux/2015-09/123604.htmhttp://www.linuxidc.com/Linux/原创 2016-06-24 20:22:29 · 466 阅读 · 0 评论 -
Git笔记
持续更新。原创 2016-08-27 13:42:17 · 500 阅读 · 0 评论 -
探讨socket编程(一)
这是socket编程进阶使用函数解析:1. 怎么用?2. 何时何地用?问题1:地址查询:490页,暂时也没弄懂作用如何?映射是指?1. 计算机系统的主机信息2. 网络名字和网络编号3. 协议名字和协议编号之间进行映射4. (服务)由地址的端口号表示,服务与端口号的三个调用函数5. 主机名、服务名一起映射到一个地址主机名到底指的是什么? 指的是:问题2:获取本地与远程地址:1. 497原创 2016-09-10 21:10:34 · 397 阅读 · 0 评论 -
Linux /dev目录详解和Linux系统各个目录的作用
Linux /dev目录详解 在linux下,/dev目录是很重要的,各种设备都在下面。下面简单总结一下: dev是设备(device)的英文缩写。/dev这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序,这一点和windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。我们可以非常转载 2016-09-29 16:38:46 · 2415 阅读 · 0 评论 -
makefile编写小结:多目录,单Makefile
当前目录状态如下:├── client_d │ ├── client.c │ └── Makefile ├── server_d │ ├── Makefile │ └── server.c └── src ├── wrap.c └── wrap.h解决问题:1. 多目录编译makefile,但这里有点缺陷是:它并不能很好地适应所有;当然,这是个小tes原创 2016-10-06 13:51:03 · 567 阅读 · 0 评论 -
makefile编写小结:多目录,单Makefile(改进)
当前目录状态如下:├── client_d│ ├── client.c│ └── Makefile├── server_d│ ├── Makefile│ └── server.c└── src ├── wrap.c └── wrap.h解决问题:1. 这里使用了目录搜索方式,来解决生成.o文件的问题完整makefile如下:#makfile for s原创 2016-10-06 15:13:37 · 406 阅读 · 0 评论 -
编译apue.3e缺少依赖库-lbsd
出现错误如下:making threadsmake[1]: Entering directory `/home/hhc/sharefile/apue.3e/threads'gcc -ansi -I../include -Wall -DLINUX -D_GNU_SOURCE badexit2.c -o badexit2 -L../lib -lapue -pthread -lrt -lbs原创 2016-10-20 18:35:26 · 1518 阅读 · 0 评论 -
关于usr/bin/ld: cannot find -lxxx问题总结
关于usr/bin/ld: cannot find -lxxx问题总结2013-08-30 14:57:30标签:linux链接库/usr/bin/ld: cannot find -lxxx问题总结linux下编译应用程序常常会出现如下错误: /usr/bin/ld: cannot find -lxxx转载 2016-10-20 19:15:44 · 17026 阅读 · 0 评论 -
gdb调试——.gdbinit脚本
下面,提供我自己写的gdb自动化脚本:特点:保留历史命令信息(如同shell中的up、down)记录gdb执行过程可选的断点保留功能下面是.gdbinit文件# 保存历史命令set history filename ./.gdb_historyset history save on# 记录执行gdb的过程set logging file ./.log.txtse原创 2016-10-22 07:27:05 · 5278 阅读 · 1 评论 -
池化技术:线程池
线程池——任务:等待任务:全局的任务队列queue无任务且无销毁,任务添加函数 等待add的signal加载任务:add将新建任务指针task赋予queue执行任务:线程池内任一rtn获取当前队列的头(第一个任务task)执行,并将此任务从队列中剔除锁时间:在开始处理任务函数时解锁退出线程池内某一rtn:根据实际的编程手法(标志位等),判断是否p_exit原创 2016-10-22 21:55:32 · 465 阅读 · 0 评论 -
例解 autoconf 和 automake 生成 Makefile 文件
developerWorks 中国技术主题Linux文档库例解 autoconf 和 automake 生成 Makefile 文件本文介绍了在 linux 系统中,通过 Gnu autoconf 和 automake 生成 Makefile 的方法。主要探讨了生成 Makefile 的来龙去脉及其机理,接着详细介绍了配置 Configure.in 的方法及其规则。3评转载 2017-02-13 20:35:16 · 408 阅读 · 0 评论 -
linux下 /etc/profile、~/.bash_profile ~/.profile的执行过程
关于登录Linux时,/etc/profile、~/.bash_profile等几个文件的执行过程。在登录Linux时要执行文件的过程如下:在刚登录Linux时,首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个,执行的顺序为:~/.bash_profile、 ~/.bash转载 2017-02-13 21:05:53 · 292 阅读 · 0 评论 -
[编译]Makefile兼APUE解析(UNP12)
本文内容:最简单的Makefile知识点归纳,通过对apue-Makefile的内容,解剖出Makefile机制,并在此过程中,实践自己的algs4-hhc算法库工程(当然,是以学习Makefile为开始)这编写过程中,为了方便本人复习,会适当提供参考资料,部分内容超出Makefile知识范围,自行跳过。阅读人群:读者没有任何编译原理知识,可以先去补充(推荐阅读《嵌入式原创 2017-03-11 16:50:37 · 851 阅读 · 0 评论 -
嵌入式软件工程师 面试题 (持续更新中)
立个Flags:这篇文章将会是私人文档里面,最受欢迎的文章,毕竟,它将会是最好、最全面、最友好、层次感强的面试题集合。2017/3/16 13:37:23原创 2017-03-16 13:39:02 · 1044 阅读 · 0 评论 -
Linux-IPC
共享内存System V 共享内存共享内存区具有内核限制Posix 共享内存must be link with -lrtshm_open 参数name的规则,链接(unp2书本上的两个例子,需要注意unix系版本的不同,lubantu对应的是太阳系)循环缓冲区,维基链接,获取:工作原理,动态图显示循环缓冲机制(公共的控制信息),实现cb的原创 2017-03-29 07:42:39 · 425 阅读 · 0 评论 -
[技巧]GCC·编译参数
What's the difference between GNU99 and C99 (Clang)? 链接需要知道的是:linux-gcc默认gnu99编译链接库:-lz -lrt -lm -lc都是什么库libz 压缩库(Z)librt 实时库(real time):shm_open系列libm 数学库(math)libc原创 2017-03-29 07:43:48 · 2208 阅读 · 0 评论 -
[技巧]C·技法
本文,以时间为轴,记录在“编码器”项目期间,重新对C语言的审视,每天只限于一个问题的收集,允许没有。要做到宁缺毋滥,而且每一个写下的问题/技法都将在当前内解决/理解。2017/2/17 12:57windows cmd控制台同样可以使用命令,并如同linux一样有意思。请看2017/2/17 12:57链接 :讲述C语言使用goto语句处理异常/错误链接 :简要原创 2017-03-29 07:44:42 · 448 阅读 · 0 评论