- 博客(20)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 TCP/IP网络编程基础阅读笔记
TCP/IP网络编程基础阅读笔记open函数该函数打开一个文件(linux下任何皆文件),返回文件描述符,失败返回-1int open(const char* pathname,int flags,mode_t mode)flags:文件打开方式的标志O_RDONLY:只读方式打开O_WRONLY:只写方式打开O_RDWR: 可读可写方式打开O_CREAT:若打开的文件不存在则创...
2018-12-05 16:48:19
745
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Linux下系统函数
Linux下系统函数rand()函数获取02147483647(0RAND_MAX)之间的随机数。真随机需要srand()设置种子。一般用时间作为srand()的参数#include<unistd.h>int rand(void)void srand(unsigned int seed)字符函数头文件<ctype.h>函数名功能isal...
2018-12-05 16:42:16
2973
原创 树
树以下所有地方均不考虑空树的情况由根节点和无数子树构成的结构。#mermaid-svg-PcF3Q08YDkJUM9ti .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-PcF3Q08YDkJUM9ti .label text{fill:#333}#mermaid-svg-PcF3Q08YDkJUM9ti
2021-04-23 08:59:25
132
原创 数据结构-线性表
线性表有限元素组成的序列,这里的元素可以是一个数字,字母,一句话,或者一个对象等等。实现方式连续空间顺序实现数组ABCD优点支持随机访问,即下标访问缺点存储的数据必须是一种类型改进:由于存储的数据类型必须相同,为了能够存储不同类型的数据,这里可以将不同类型元素地址取出,任何类型的地址在本质上都是一样类型(32位机器则是4字节整数,64位机器是8字节整数)的数据,所以只要我们标记好这个指针到底是什么类型的指针,后面取出数据时就能正确转换成原来的指针类型即
2021-04-20 23:33:43
113
原创 bshel笔记
bash shell#!/bin/bashecho "hello world";位置参数和变量参数描述$0shell脚本名$0–$9命令行参数对应的值$*命令行中所有的参数,如果$*被""包括,则参数之间用环境变量IFS中的第一个字符隔开$@命令行的所有参数,如果$@被""包括,所有参数不会结合在一起。(可用于遍历)$#命令行参数的个..
2018-12-06 09:09:32
137
原创 GCC笔记
GCC参数说明-ansi依据ANSI标准-c跳过连接步骤直接生成目标文件(.o)-g添加gdb调试信息到程序,调试程序时使用。-m 类型根据给定CPU类型优化代码-o 文件名生成可执行文件-O [级别]指定优化级别0~3,越大程度越高,默认0-S跳过汇编和连接阶段,并保留汇编代码(.s)文件-v产生尽可能多的输出信息...
2018-12-06 09:09:20
140
原创 GDB笔记
GDB要想程序能够被gdb调试,那么用gcc编译时就要添加-g选项gcc x.c -o x.out -ggdb [选项] [可执行程序] -c core文件 指定core文件检查程序 -h 帮助 -n 忽略~/.gdbinit文件中指定的执行命令 -q 禁止显示介绍信息和版权信息 -s 文件...
2018-12-06 09:08:58
171
原创 ES6学习笔记
ES6let const之前版本的js都是用var声明变量的,且作用于为全局。let 声明局部变量.作用于声明的代码块,且严格遵循先声明后使用。暂时性死区var ttt = "";function a(){ ttt = "ccc";//出现错误 let ttt;}因为let声明的变量在声明的区域内作用,且遵循先声明后使用的原则,所以在a()函数中给ttt赋值是不...
2018-12-06 09:08:46
136
原创 软件的插件原理
常见软件的插件原理?很多软件都支持安装插件,比如我们常用的ide都是支持安装插件的。手动安装插件在windows/linux下手动安装插件。下载插件插件往往是一个dll、so文件或者zip等压缩文件将下载的插件放入软件的插件目录重启软件背后原理下载的插件是一个dll、so库。将这个库放入插件目录是为了让软件自动加载这个插件。软件怎么加载呢?首先扫描插件目录,将所有dll...
2018-12-06 09:08:35
2657
原创 windows下配置双网
配置原理: 修改电脑的默认路由。 比如外网数据通过wifi出去,内网数据通过有线网卡出去。 将电脑默认路由网关配置成wifi网关,将内网网段IP配置成有线网卡网关。 windows下: 使用route命令:route add -p 网络 mask 掩码 网关 route add -p 10.0.0.0 mask 255.0...
2018-12-06 09:08:24
485
原创 如何实现不限类型的栈或队列
如何实现不限类型的栈或队列?猜想的实现方式:采用union这种特殊的结构体实现各种类型的表示。结构体设计:struct{ int type; union Data{ char chr; unsigned char uchr; short sht; unsigned...
2018-12-06 09:08:14
156
原创 Linux内存不足,添加swap分区
Linux内存不足,添加swap分区swap分区属于交换分区,起虚拟内存的作用。由于内存资源的宝贵,于是将硬盘的一部分作为内存来使用。所以在内存不足的时候,就可以通过适当的增加交换分区大小来达到增加内存的作用。在编译mysql5.7.23的时候,购买的服务器内存只有1G,没有分配swap分区。最后在make的时候报错。网上查阅是内存不足的原因。c++: internal compiler e...
2018-12-05 16:40:10
871
转载 vim 常用快捷键
vim 常用快捷键文件操作:e file --关闭当前编辑文件并打开新的文件file,如果对当前文件修改未保存,vim会警告:e! file --同上,不警告:e+ file --打开新文件并将光标定位到新文件尾部:e+n file --打开新文件并将光标定位到第n行开始编辑:e newfile --编辑一个新文档:e --重新加载本文档:e! --重新打开本文档并忽略所做的修改...
2018-12-05 16:39:20
154
原创 extern "C"
extern “C”extern “c” 是为了让C++能够正确的调用C语言代码。由于C语言不支持重载,在编译时,函数签名就只有一个函数名。而C++的函数支持重载,那么为了区分不同函数,C++在生成函数签名时将函数的参数类型也纳入了其中。比如:int func(int ,int)。在C语言中生成的函数签名可能是 _func_;而在C++中生成的函数签名可能是_func_int_int。下...
2018-12-05 16:37:28
98
原创 编程规范
编程规范版权和版本声明内容:版权信息。文件名称,标识符,摘要。当前版本号,作者/修改者,完成日期。版本历史信息。/*** Copyright ……* All rights reserved.* * 文件名称:* 文件标识:* 摘要:* * 当前版本:* 作者:* 完成日期:* * 取代版本:* 原作者:* 完成日期:*/版式空行每个类声明之...
2018-12-05 16:36:06
216
原创 go-flow源代码解读心得
go-flowgo get github.com/kamildrazkiewicz/go-flow使用方法 func main() { f1 := func(r map[string]interface{}) (interface{}, error) { fmt.Println("function1 started") time.Sleep(time.Millisecond *...
2018-12-05 11:54:11
4175
原创 map,struct互转
判断某个值是否在某个切片中/**@func: 判断某个值是否在某个切片中@param: val: 要查找的值 slice: 寻找的切片@return int 查找到的下标,如果没有找到返回-1 error 错误信息*/func inSlice(val interface{},slice...
2018-12-05 11:52:55
1836
原创 Go 生成C动态库.so和静态库.a
Go 生成C动态库.so和静态库.a源代码package mainimport "C"import "fmt"//export hellofunc hello(){ fmt.Println("hello world")}//export addfunc add(a,b int) int { return a+b}
2018-12-05 11:51:19
14184
1
原创 Go生成go动态库或静态库
Go生成go动态库或静态库预备知识plugin模式插件运行方式go plugin包使用相关知识go build 可以指定buildmode。分为了多种模式。具体模式如下。模式说明当前go版本1.10.3archive编译成二进制文件。一般是静态库文件。 xx.ac-archive编译成C归档文件。C可调用的静态库。xx.a。注意要编译成此类文...
2018-12-05 11:49:27
6170
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人