- 博客(44)
- 资源 (5)
- 收藏
- 关注

原创 Linux常用高频命令tree、tar、cat、stat等(自总结)
本文详细接受了linux下高频命令,包括tree、tar、grep、stat等命令,几乎每个linux环境下开发的人都脱离不了。所有命令都配有说明和实验截图,并详细总结了各种压缩文件的格式,命令,包括tar,rar,zip,Z,tar.gz等。
2016-10-31 19:00:18
2536
1

原创 C语言中值得深入知识点----数组做函数参数、数组名a与&a区别、数组名a的"数据类型"
本文用简单的例子说明了C语言中数组做函数参数,数组名a与&a区别,数组名a的"数据类型",以及编译器的不同,相应指针所占字节的不同导致程序的细微差别。
2016-07-12 21:29:23
15506
1

原创 Linux-----线程、进程、多线程、内核线程
Linux学习中,经常遇到线程、进程、多线程、内核线程等概念。这篇博文详细介绍了进程、线程的区别和联系以及Linux上面线程的实现,最后讲解了内核线程。
2016-05-05 11:20:21
967

原创 中断上半部,下半部/软中断/tasklet/工作队列
在阅读本文之前,可以先行阅读:中断上下文、进程上下文本文回答了为什么引入中断上部分、下部分以及上半部和下半部各自的分工;同时重点分析了下半部的三种机制及tasklet和工作队列的使用模块,能对整个框架有一个清晰的认识。1. 为什么引入中断上半部、下半部(1)为了解决一个矛盾体:又想中断处理程序运行快,又想中断处理程序完成的工作量多。 (2)中断处理程序本身局限性,使得它只能完成整个中断处理流程的上
2016-03-30 21:50:33
3793
转载 使用Spring Tool Suite (STS)新的工作空间无需再配置
使用Spring Tool Suite (STS)新的工作空间无需再配置在你的新的工作空间中找到比如F:\java-wokespace\你的新的工作空间名称\.metadata\.plugins\org.eclipse.core.runtime\.settings找到那个红色标注的文件夹把你以前工作空间的相同文件夹复制过来替换即可来源:http://www.cnblogs.com/lusid/p/...
2018-06-14 17:23:39
6325
转载 标准C++中的string类的用法总结
非常详细的讲解了C++中String类的各种方法总结,String类在实际工程中和面试题中都是用途非常广。
2017-05-17 21:01:27
560
转载 #pragma once与#ifndef #define #endif的区别 (比较全)
#pragma once一般由编译器提供保证:同一个文件不会被包含多次。注意这里所说的“同一个文件”是指物理上的一个文件,而不是指内容相同的两个文件。你无法对一个头文件中的一段代码作pragma once声明,而只能针对文件。 #ifndef的方式受C/C++语言标准支持。它不光可以保证同一个文件不会被包含多次,也能保证内容完全相同的两个文件(或者代码片段)不会被不小心同时包含。
2017-02-28 20:46:32
2137
转载 Linux中select poll和epoll的区别
epoll的优点:1.支持一个进程打开大数目的socket描述符(FD);2.IO效率不随FD数目增加而线性下降;3.使用mmap加速内核与用户空间的消息传递。
2017-02-20 11:09:28
761
转载 Linux系统编程——I/O多路复用select、poll、epoll的区别使用
I/O 多路复用技术是为了解决进程或线程阻塞到某个 I/O 系统调用而出现的技术,使进程不阻塞于某个特定的 I/O 系统调用。select(),poll(),epoll()都是I/O多路复用的机制。I/O多路复用通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪,就是这个文件描述符进行读写操作之前),能够通知程序进行相应的读写操作。但select(),poll(),epoll()本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而
2017-02-20 10:57:44
775
原创 堆分配的内存空间是否连续
malloc分配的内存空间在逻辑上面连续,在物理内存上面不一定连续。堆分配的空间在逻辑地址上是连续的,但在物理地址上是不连续的(因为采用了页式内存管理,windows下有段机制、分页机制),如果逻辑地址空间上已经没有一段连续且足够大的空间,则分配内存失败。
2017-01-13 16:52:36
13050
原创 对堆栈中分析的比较好的文章进行的总结
堆和栈的区别,堆在哪里,栈在哪里?栈更快因为所有的空闲内存都是连续的,因此不需要对空闲内存块通过列表来维护。只是一个简单的指向当前栈顶的指针。
2017-01-13 15:54:35
5178
转载 子网掩码与子网划分--讲得很清楚
本文言简意赅,讲述子网掩码的作用,如何用子网掩码得到网络号/主机号,之后讲述了子网的划分和子网掩码的计算。在叙述中不断用问题穿插进行,让你更加深刻的理解,层次清楚,对学习子网掩码知识起到事陪功半的作用。
2016-12-30 11:07:05
39657
11
原创 查看Linux系统信息&&gcc信息
参看Linux系统信息,命名比较简单,但是比较实用。包括 cat /etc/issue, lsb_release -a,uname -a,cat /proc/version命令。
2016-12-27 16:26:01
2505
转载 关于PF_INET和AF_INET的区别
理论上建立socket时是指定协议,应该用PF_xxxx,设置地址时应该用AF_xxxx。当然AF_INET和PF_INET的值是相同的,混用也不会有太大的问题。也就是说你socket时候用PF_xxxx,设置的时候用AF_xxxx也是没关系的,这点随便找个TCPIP例子就可以验证出来了。如下,不论是AF_INET还是PF_INET都是可行的,只不过这样子的话,有点不符合规范。
2016-12-23 18:05:02
12242
转载 sockaddr_in , sockaddr , in_addr区别Socket编程函数集(非常有用)
struct sockaddr 是一个通用地址结构,这是为了统一地址结构的表示方法,统一接口函数,使不同的地址结构可以被bind() , connect() 等函数调用;struct sockaddr_in中的in 表示internet,就是网络地址,这只是我们比较常用的地址结构,属于AF_INET地址族,他非常的常用,以至于我们都开始讨论它与 struct sockaddr通用地址结构的区别。另外还有struct sockaddr_un 地址结构,剩下的地址结构我就不知道了。我们可以认为 struct s
2016-12-23 17:15:34
2232
原创 std::strcpy、strncpy、memset、memcpy用法
1. std::strcpy 功能:将一个字符串复制到另一个字符串(如果字符串重叠,该行为是未定义); 定义于头文件 <cstring> char *strcpy( char *dest, const char *src );参数: destinationPointer to the destination array where the content is to be copied.sour
2016-12-09 17:28:18
4842
转载 Android NDK学习 <一> 简介
Android NDK( Native Developer Kit )是个工具集,它提供一套方法,使Android应用程序(Java程序)可以内嵌native(C,C++)程序。Android应用程序(Java程序)运行于Dalvik虚拟机中。NDK允许应用程序的一部分使用native语言(C,C++)来实现。这对很多程序都是有帮助的,比如需要利用以前完成的C,C++代码,也可以提高运行速
2016-11-24 11:24:48
373
转载 Android NDK学习 <三> Android.mk实例和NDK实用技巧
以6个典型的实例,告诉大家怎么去通过JNI程序调用相应的.so文件、怎么变成.mk文件等等。
2016-11-24 11:17:59
419
转载 Android NDK学习 <四> Application.mk简介
Application.mk简介:1. 基础知识介绍:Application.mk用来描述应用程序需要哪些modules。Application.mk通常放在:$PROJECT/jni/Application.mk。2. Application.mk变量:Application.mk是GNU Makefile的一个小片段。它可以定义以下变量。APP_PR
2016-11-24 10:59:48
468
转载 Android NDK学习 <二> Android.mk的制作
介绍了如何编写Android.mk,文章从一个简单的Android.mk例子入手, 由浅入深的讲解了如何编写简单的.mk文件,非常的直观。
2016-11-24 10:17:35
421
转载 从如何解决问题到如何学习算法
这其实给我们学习算法提供了非常好的启示,首先需要我们养成一种习惯,那就是遇到问题,首先用数学的形式来描述它。先不要管是否合适,总之先去描述它。然后通过这种描述来寻找问题的结构和性质,看看这种描述是不是合适,如果不合适,再换一种方式。
2016-10-21 16:08:54
1035
转载 linux下如何用GDB调试c++程序
GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。 一般来说,GDB主要帮忙你完成下面四个方面的功能:启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。可
2016-10-21 11:18:13
352
转载 MYSQL 命令行大全 (简洁、明了、全面)
用非常简单的语句详细介绍了mysql数据库中常用的命令,非常适合初学者,同时也适合有经验的数据库技术人员参考。
2016-09-11 16:42:31
45671
转载 C和C++混合编程
本文系统讲解了C和C++混合编程的部分知识,涉及知识点如下:1、#ifdef _cplusplus/#endif _cplusplus及发散 2、extern "C"2.1、extern关键字2.2、"C"2.3、小结extern "C"3、C和C++互相调用 4、C和C++混合调用特别之处函数指针3.1、C++的编译和连接3.2、C的编译和连接3.3、C++中调用C的代码3.4、C中调用C++的代码
2016-08-14 19:54:38
763
原创 C++析构函数
本文详细分析了析构函数的特定以及调用情形,同时通过两个简单程序的对比,更加清晰知道析构函数自动调用的不同情形。最后讲解了static变量及其函数特有的一些性质。
2016-07-07 21:54:03
749
转载 互联网协议之入门基础
我们每天使用互联网,你是否想过,它是如何实现的?全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗?互联网的核心是一系列协议,总称为"互联网协议"(Internet Protocol Suite)。它们对电脑如何连接和组网,做出了详尽的规定。理解了这些协议,就理解了互联网的原理。下面就是我的学习笔记。因为这些协议实在太复杂、太庞大,我想整理一个简洁的框架,帮助自己从总体上把握它们。为了保证简单易懂
2016-06-08 11:02:15
927
原创 图解程序员画流程图、数据结构图及各种复杂图形的Graphviz工具入门
画linux内核文件系统结构图、内存分配以及学习数据结构树、图时,发现使用Graphviz非常的方便快捷。鉴于网上关于它的安装、使用不是特别具体,本博文将一步步告诉大家如何快速地使用Graphviz画相关的流程图、树形图等。告诉大家Graphviz的快速入门。
2016-05-03 16:38:52
33935
2
原创 一步步教你从VC 6.0 转到 Visual Studio 编写C程序
本文用图片介绍怎样用Visual Studio 2010 一步步建立C工程 。同时对建立工程中,VS可能会遇到的问题进行了分析,如 Cannot find or open the PDB file 和程序闪退看不到结果。
2016-04-27 20:48:35
14638
2
原创 字符设备驱动之misc驱动
字符设备驱动之misc驱动Misc驱动,在LDD上面基本没讲,但由于其方便,现在使用已经相当广泛。本文首先介绍了普通字符驱动的结构即流程,之后将misc字符驱动与普通字符驱动进行了比较。最后通过源码对misc有更进一步的认识与了解。如果对字符设备驱动是初次接触,不是特别了解驱动的框架,可以参考 字符设备驱动内核框架小结(一),这篇文章非常清晰、完整的介绍字符设备驱动的一系列知识。
2016-03-29 22:28:50
4357
转载 字符设备驱动内核框架小结(一)
首先讲解了文件系统中与字符驱动密切相关的inode、file、dentry、file_struct这几个结构体,之后详细分析字符设备驱动框架。
2016-03-29 10:25:28
1900
原创 source insight 背景颜色修改 代码字体大小修改 中文注释空格去除
source insight 背景颜色修改 、代码字体大小修改 、 中文注释空格去除
2016-03-03 21:41:37
22920
原创 linux 文件系统 (一) 文件系统、文件结构、虚拟文件系统的定义及作用、VFS与文件系统的关系
本文详细分析了文件系统、文件结构、虚拟文件系统的定义及作用、VFS与文件系统的关系。分析当中加入了很多自己的理解,重点分析了文件的结构,虚拟文件系统(VFS)与文件系统、用户程序的关系,分析的比较通俗。
2016-01-07 10:48:16
2385
原创 windows下linux内核源代码阅读 Source Insight3.5工具
Linux内核源码在windows下的快速阅读查找,内核代码导入Source Insight3.5 。
2015-12-23 16:09:02
7947
原创 C Primer plus 5th 第七章学习笔记 break 与continue
第七章 C语言控制语句:分支和跳转 一 .getchar 和putchar N01. 用途:getchar 和putchar是专门面对字符I/o设计。No2. 注意 getchar()没有参数,其返回来着输入设备的下一个字符,用法:ch = getchar(),putchar(ch),特别注意字符是以整数被存储;二.程序跳转着重分析break ,continue
2015-10-13 16:44:29
932
原创 Altium Designer 封装 库文件导入 基础库设计 PCB设计 原理图设计
Altium Designer 学习一一.如何建工程1.1 建立一个PCB工程建立AD工程,后缀名为.PrjPcb,包括原理图文件.SchDoc和PCB文件。文件->New->project->PCBproject 。 工程建立完成之后,添加新的原理图文件,PCB文件或者已经存在的文件到工程中。直接在工程的位置右击鼠标点击加入。1.2 建立一个Int
2015-09-17 18:21:34
39838
原创 相关常用单位转换 mil 英里 英尺 .......
相关常用单位 1mil = 0.0254mm100mil = 2.54mm1英寸 = 1000mil = 2.54cm1英尺 = 12英寸 = 30.48cm注:在几个换算在PCB制版中常用到一般我们PCB打样为10cm ,对应大约是3935mil 1m = 3尺1尺 = 10寸 = 33.
2015-09-16 09:13:30
3358
原创 结构体、结构指针作为函数参数
- 结构体、结构指针作为函数参数1.简介 结构体,结构体指针作为函数的参数现在应用的非常广泛,但一些细微 之处还需要引起注意。本文将讨论其作为形参和实参的区别。2.结构体作为参数 将结构体作为函数的参数,我们的目的是通过makeinfo()函数调用去改变person 结构体中letters的值。 情形1:#include<stdio.h>#include<strin
2015-09-05 16:46:20
22635
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人