logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

深入浅出静态链接和动态链接

        作为一名C/C++程序员,对于编译链接的过程要了然于胸。首先大概介绍一下,编译分为3步,首先对源文件进行预处理,这个过程主要是处理一些#号定义的命令或语句(如宏、#include、预编译指令#ifdef等),生成*.i文件;然后进行编译,这个过程主要是进行词法分析、语法分析和语义分析等,生成*.s的汇编文件;最后进行汇编,这个过程比较简单,就是将对应的汇编指令翻译成机器指令,生成可

数据结构之二叉树

    树形结构是一类重要的非线性数据结构,而且应用十分广泛。本篇博客首先以思维导图的形式来介绍树和二叉树的基本概念你,涉及到树的定义、基本术语、遍历方式以及扩展(线索化),然后再以源码的形式实现出来。一、代码实现(C++语言)1.二叉树        这里对二叉树各种操作代码实现提供了递归和非递归两种版本,如前序、中序、后序和层次遍历二叉树,获取度为0/1/2的节点数目,以及根据前序和中序恢复一

#数据结构
数据结构之串的模式匹配(C语言实现)

一、暴力匹配算法(BF)BF全称为Brute-Force,最简单直观的模式匹配算法。1.算法思想两个字符串进行匹配时,一个主串和一个模式串,就是按照我们最容易想到的算法来进行匹配。用两个变量i,j分别记录主串和模式串的匹配位置,如果两者在某个字符不匹配,则将记录主串匹配位置的变量i回退到匹配前i的位置的后一个位置,将j回头到模式串的第一个字符位置;如果i和j指向的主串和模式串字符匹配,...

#数据结构#KMP
Go语言学习笔记(八)包(package)

        Go语言的源码服用建立在包(package)基础之上。Go语言的入口main()函数所在的包叫main,main包想要引用别的代码,必须同样以包的方式进行引用。        Go语言的包与文件夹一一对应,所有与包相关的操作,必须依赖于工作目录GOPATH。1.GOPATH(1)使用命令行查看GOPATH信息zk@ubuntu:~/Go$ echo $GOPATH...

数据结构之双向链表(C语言实现)

数据结构之双向链表(C语言实现)

#c语言#数据结构
《STL源码剖析》上篇----空间配置器、迭代器、容器和适配器

       这几天在看《STL源码剖析》这本书,感觉设计整个STL的人真的是太聪明了,从空间配置器到迭代器,再到序列式容器,环环相扣,让人感觉很严密,很整洁。最近只看完了空间配置器、迭代器和序列式容器这三部分,所以这里先就这三部分做一个小结。一、空间配置器        下面先总体介绍一下空间配置器。空间配置器的作用是在底层为上层的各种容器提供存储空间,需要多少分配多少,一般分配的比你需要的更多

网络编程教程(四)Linux网络编程基础API

        首先介绍Linux下整个的网络编程流程:一、socket地址API1.主机字节序和网络字节序        字节序分为大端字节序(big endian)和小端字节序(little endian)。大端字节序是指一个整数的搞我字节存储在内存的低地址处,低位字节存储在内存的高地址处。小端字节序则是整数的高位字节存储在内存的高地址处,而低位字节则存储在内存的低地址处。...

#计算机网络
网络编程教程(八)信号和定时器

一、信号1.信号 API(1)发送信号#include <sys/types.h>#include <signal.h>int kill(pid_t pid, int sig);函数功能:向进程ID为pid的进程发送信号sig函数参数:pid:进程编号sig:信号值返回值:函数成功时返回0,失败则返回-1,并设...

#计算机网络
数据结构之二叉排序树(C语言实现)

一、基本概念1.二叉排序树二叉排序树(Binary sort tree,BST),又称为二叉查找树,或者是一棵空树;或者是具有下列性质的二叉树:(1)若它的左子树不为空,则左子树上所有节点的值均小于它的根节点的值;(2)若它的右子树不为空,则右子树上所有节点的值均大于它的根节点的值;(3)它的左、右子树也分别为二叉...

#数据结构
到底了