7 cany1000

尚未进行身份认证

积极,向上,努力,踏实。

等级
博文 362
排名 5k+

程序依赖库

1、findthedependentslibraryofaprogramLinuxOS:ldd:printsharedlibrarydependencies$lddyour_program_namewinodwsOS:dll的依赖>>cdVS_INSTALL_DIR/VC/bin>>dumpbin/dependents  your_dl...

2018-07-15 12:22:17

ARM平台下独占访问指令LDREX和STREX的原理与使用详解

为了实现线程间同步,一般都要在执行关键代码段之前加互斥(Mutex)锁,且在执行完关键代码段之后解锁。为了实现所谓的互斥锁的概念,一般都需要所在平台提供支持。本文主要用来说明ARM平台上特有的独占访问指令LDREX和STREX的工作原理,以及如何使用。而它们也是ARM平台上,实现互斥锁等线程同步工具的基础。我们先来看看LDREX和STREX两条指令的语义。其实LDREX和STREX指令,是将单纯的...

2018-07-12 11:12:50

软连接和硬链接

在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号inode.在Linux系统中,链接分为硬链接和符号链接。1)软链接(符号链接)软链接,其实就是新建立一个文件inode(具有新的i节点)这个文件就是专门用来指向别的文件的(类似于Windows下的快捷方式)。软链接产生的是一个新的文件,但这个文件的作用就是专门指向某个文件的,删了这个软链接文件,原来的...

2018-06-28 10:35:08

地址解析协议ARP和逆地址解析协议RARP

1、地址解析协议的工作原理(ARP:AddressResolutionProtocol)广播发送ARP请求,单播发送ARP响应。1)首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。2)当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该...

2018-06-27 10:18:14

逆向扫描指令

逆向扫描指令BSR(BitScanReverse),从左向右扫描,即从高位向低位扫描。Searchthemaskdatafrommostsignificantbit(MSB)toleastsignificantbit(LSB)forasetbit(1).即第一个出现1的位置。原型:unsignedchar_BitScanReverse(unsigned...

2018-06-21 15:31:25

Socket 编程--TCP实现的例子

基于TCP(面向连接)的socket编程,分为客户端和服务器端。客户端的流程如下:(1)创建套接字(socket)(2)向服务器发出连接请求(connect)(3)和服务器端进行通信(send/recv)(4)关闭套接字服务器端的流程如下:(1)创建套接字(socket)(2)将套接字绑定到一个本地地址和端口上(bind)(3)将套接字设为监听模式,准备接收客户端请求(listen)(4)等待客户...

2018-06-21 11:10:55

TCP/UDP的Socket编程接口详解

基于TCP(面向连接)的socket编程,分为客户端和服务器端。服务器端的流程如下:(1)创建套接字(socket)(2)将套接字绑定到一个本地地址和端口上(bind)(3)将套接字设为监听模式,准备接收客户端请求(listen)即等待客户端调用connect().(4)等待客户请求到来;当请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept)(5)用返回的套接字和客户端进行...

2018-06-20 11:23:47

sockaddr和sockaddr_in详解

structsockaddr和structsockaddr_in这两个结构体用来处理网络通信的地址。一、sockaddrsockaddr在头文件#include<sys/socket.h>中定义,sockaddr的缺陷是:sa_data把目标地址和端口信息混在一起了,如下:structsockaddr{sa_family_tsin_family;//地址族...

2018-06-13 18:55:55

网站

1、C++http://www.runoob.com/cplusplus/cpp-interfaces.html 2、个税计算器http://www.us35.com/3、C语言关键字http://c.biancheng.net/cpp/html/450.html4、精品课http://course.jingpinke.com/search?level=benke&subject01=01...

2018-06-11 15:23:15

strcpy/strlen/malloc

1、strcpy需要注意点--源字符串加const修饰,表明其为输入参数--对源字符串指针和目的字符串指针加非0断言--为了实现链式操作,将目的地址返回char*strcpy(char*strDest,constchar*strSrc){ assert((strDest!=NULL)&&(strSrc!=NULL)); char*res=...

2018-06-11 14:28:58

构造函数不能为虚函数

1,从存储空间角度虚函数对应一个vtable,这大家都知道,可是这个vtable其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过vtable来调用,可是对象还没有实例化,也就是内存空间还没有,无法找到vtable,所以构造函数不能是虚函数。2,从使用角度虚函数主要用于在信息不全的情况下,能使重载的函数得到对应的调用。构造函数本身就是要初始化实例,那...

2018-06-11 14:28:41

C++:构造函数和析构函数能否为虚函数

C++:构造函数和析构函数能否为虚函数?简单回答是:构造函数不能为虚函数,而析构函数可以且常常是虚函数。(1)构造函数不能为虚函数让我们来看看大牛C++之父BjarneStroustrup在《TheC++ProgrammingLanguage》里是怎么说的:Toconstructanobject,aconstructorneedstheexacttypeofth...

2018-06-11 14:28:17

互斥锁和信号量

1、Mutex互斥量/互斥锁Mutex本质上说就是一把锁,提供对资源的独占访问,所以Mutex的主要作用是用于互斥的访问共享资源。Mutex对象的值,只有0和1两个值。这两个值也分别代表了Mutex的两种状态。值为0,表示锁定状态,当前对象被锁定,用户进程/线程如果试图Lock临界资源,则进入排队等待。值为1,表示空闲状态,当前对象为空闲,用户进程/线程可以Lock临界资源,之后Mutex值减1...

2018-06-11 14:27:57

elaboration/simulation/simulation kernel

2018-06-11 14:18:43

虚继承

1、多继承(环状继承),A->D,B->D,C->(A,B),例如:classD{......};classB:publicD{......};classA:publicD{......};classC:publicB,publicA{.....};这个继承会使D创建两个对象(C++编译器现在已优化?),要解决上面的问题,就要采用虚拟继承格式:cla...

2018-06-10 10:42:54

判断链表中是否有环/子串

怎么判断链表中是否有环?答:用两个指针来遍历这个单向链表,第一个指针p1,,每次走一步,第二个指针p2,每次走两步,当p2指针追上p1的时候,就表明链表当中有环路了。inttestLinkRing(Link*head){ Link*t1=head,*t2=head; while(t1->next&&t2->next) { t1=t1-...

2018-05-28 15:33:23

explict和implicit

explicit:只能用于修饰只有一个参数的类构造函数。作用是:表明该构造函数是显式的,而非隐式的。implicit:与explicit相对应的关键字,隐式的。类的构造函数在默认情况下是implicit的。在C++中,如果类的构造函数只有一个参数时,那么在编译的时候会有一个缺省的转换操作,即编译器自动将整型转换为类类型的对象。classCXString{public: char*_ps...

2018-05-25 17:36:42

TCP和UDP

1)TCP传输控制协议TCP提供一种面向连接的、可靠的字节流服务。面向连接意味着两个使用TCP的应用(通常一个是客户,另一个是服务器)在彼此交换数据之间必须先建立一个TCP连接。在一个TCP连接中,仅有两方进行彼此通信。广播和多播不能用于TCP。TCP通过下列方式来提供可靠性:--应用数据被分割成TCP认为最适合发送的数据块。由TCP传递给IP的信息单位称为报文段或段(segment)--当T...

2018-05-23 17:09:57

printf(),sprintf(),fflush()

1、printf()中%m.nsm表示占用宽度,n表示从相应的字符串中最多取用的字符串数。如果n<m,需要补空格,没有负号的左补空格,有负号的右补空格。如果n>m,按照n指定的宽度进行输出。#include<stdio.h>intmain(){ char*mystr="helloworld."; printf("%5.5s\n",mystr);/...

2018-04-13 16:34:41

sleep(),wait(),软链接和硬链接

1、wait()和sleep()sleep()是Thread类中的方法,而wait()则是Object类中的方法。sleep()方法导致了程序暂停,但是它的监控状态仍然保持着,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。wait()方法会导致线程放弃(释放)对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象...

2018-04-11 20:40:00
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!