- 博客(45)
- 资源 (1)
- 问答 (6)
- 收藏
- 关注
原创 对程序的思考
程序底层的核心逻辑都是在进行:查找、排序、比大小。查找速率(时间复杂度)体现了程序的能力达成这个查找速率所消耗的CPU、内存是衡量程序好坏的标准
2021-10-12 11:09:20
154
原创 GO 开发常见问题
编译问题如果import的模块使用了cgo,需要设置环境变量CGO_ENABLE=0,这样编译出来的可执行程序才不会依赖动态库,例如:CGO_ENABLED=0 go build -o haha *.go
2021-05-12 22:52:46
329
2
原创 tcpdump抓包
当使用tcpdump抓包时,发现指定的端口上面没有数据,这时候需要注意,想要抓包的端口是否在当前命令行指定的interface(有时候未显示指定时,使用的是默认的interface)上面,例如本人遇到的情况:tcpdump port 2222发现没有数据,检查发现2222端口是在lo上,而上面命令默认使用的是eth0,使用-i指定了lo之后,即能正常抓包:tcpdump -i lo 2222...
2020-04-04 20:29:20
360
原创 对CPU的IO操作的理解
什么是io操作读写cpu寄存器,cache之外的设备叫做cpu的io操作,如内存,硬盘,网卡,但是读写内存很快,一般不将读写内存叫做io操作。
2020-03-31 22:42:20
2888
原创 c++中调用c函数
风两种情况:如果c++和c一同使用g++编译器编译,则c函数的头文件中不需要加extern “C”如果先使用gcc将c文件编译成动态库,再在c++中引用c头文件,则要在c头文件中加入extern “C”...
2020-03-11 23:13:48
184
原创 对“程序”的思考
日常生活当中使用的绝大多数软件或者说程序,底层逻辑都是在做排序和查找,而排序和查找最终都是在比大小,而复杂的排序和查找,就是一个高端的名词“算法”,从这个角度来看,程序员的工作,其实并没有多么的高大上,那些看上去伟大的高科技(飞机,云计算,大数据,人工智能)所涉及的软件技术,其实并非是多么深奥让人遥不可及。...
2020-02-27 21:02:41
179
原创 ubuntu安装配置samba共享
目标将root用户的home目录共享到局域网,通过root用户登录时,可以读写、创建文件和目录步骤安装 sudo apt-get install samba 配置打开/etc/samba/smb.conf修改Share Definitions的[homes]配置read only = nocreate mask = 0775directory mask = 077...
2020-01-21 22:51:47
209
原创 计算机中,文本文件和二进制文件的区别
文本文件和二进制文件都是存储的二进制0和1,区别在于:文本文件:二进制是以字符编码方式存储的,如utf-8, gbk,规则简单二进制文件:二进制没有以字符编码的方式存储,规则复杂,只有计算机能够理解...
2020-01-09 21:33:54
352
原创 符号与编码
unicode和utf-8unicode是一个符号集和,这个符号集和中的每一个符号都有一个唯一编号,这些符号的传输、存储通过utf-8编码的形式实现。ASCIIascii码表使用1个字节就可以表示其所有的符号,所以,ascii的编码方式使用其唯一编号即可,不需要考虑存储、传输时涉及的大小端问题...
2019-12-08 22:21:51
493
原创 通信协议三要素
一、通信接口标准通信接口标准是通信的硬件协议,提供机械的硬件的、电气的、功能性的特性和规程。同时,定义了传输介质和网络接口的连接方式及数据的发送和接收方式。在串行数据接口标准中,最常用的是RS232、RS422和RS485串行接口标准。二、通信格式在串行异步通信中,通信双方必须就通信数据传输方式,传送的数据长度,校验方法和传输速率进行统一设置,这样才能保证双方通信的正确。这种双方进行统一...
2019-12-03 22:34:04
4517
原创 dbus总线思考
dbus每一个对象支持一个或者多个接口,接口是一组方法和信号。dbus上有两种消息,一种是方法,有返回值,一种是信号,没有返回值。well known name 是unique name 的别名。dbus-send --bus=unix:path=/tmp/var/run/mbusd/mbusd_socket --print-reply --dest=org.freedeskto...
2019-11-27 22:53:34
291
原创 串口速率的思考
假设串口使用9600的波特率,起始位和停止位都为1位,数据位8位,那么一帧数据的长度为10bit,9600/10=960 byte/s,即每秒可以传输960个字符,所以,可以说串口传输的速率是很慢的rs-232的峰值传输速率20kbps,rs485的速率可达10Mbps,那么,是什么影响了串口的传输速率?“在规定的误码率下,当波特率、信号线、信号的性质及大小一定时,串行通信的传输距离就一定...
2019-11-17 16:08:21
2573
原创 串口异步通讯的停止位和空闲位都是高电平,为什么要设置停止位位数
如图,两位停止位可以起到时钟同步的作用。因为在一个字节的时间内,收发端的时钟不会相差太大,但是当收发数据多了之后,它们的差距会越来越大,所以,每传输8位数据之后,使用停止位做一次时钟同步,那么收发端的时钟差距被限定在一个区间内,不会造成数据读取错乱。同步是怎样做到的?检测到下跳沿后,开始计时,1.5个时钟周期后,开始采样,这样采样的时间点刚好在一个位的中间。这个图是否正确...
2019-11-14 23:03:10
6524
4
原创 以太网与802.3,wifi与802.11的关系
以太网是802.3的别名,wifi是802.11的别名,或者说以太网是802.3协议的具体实现,而wifi是802.11协议的具体实现
2019-10-28 19:46:57
7374
原创 关于多路复用技术的思考
通信领域中,频分复用,时分复用技术通常只要用来分出两路即可,一路收,一路发,这样,对于全双工通信就有了物理基础。而要解决如何实现一对多通信的问题,则需要采用的是多址技术。因此可以大胆猜测,家里的路由器,不管是2.4G的wifi还是5G的wifi,它们的收发信道,使用的应该是不同的频率。而要实现多个手机同时上网,则要在链路层实现多址。 ...
2019-10-27 15:57:00
379
原创 为什么分布电容会缩短信号的传输距离
在双绞线中,因为差分信号存在电压差,所以会有分布电容,两根线中正负电荷集中在导线边缘,有相互吸引的趋势,这会增大电子运动的阻力,就好比两块磁铁南极和北极分别贴着放在桌面的上下侧,相互吸引,会增大他们运动的阻力。因此分布电容会缩短信号的传输距离...
2019-10-24 00:34:48
811
原创 RS-232串口线与以太网的八芯双绞线的对比,为什么不使用串口线来连接电脑和路由器?
RS-232和以太网线的从物理层的以下几个方面做比较:接口,传输线,传输速率RS-232:常用的为DB-9连接器,9根线,主要用GND,TXD,RXD,收发是不平衡传输,没有时钟线,是异步通信,最大传速率只能达到115.2kbps8芯双绞线:RJ-45接口,8根线,收发各有两根线,采用差分传输,也没有时钟线,是异步通信,七类线最高速率可达10 Gbps如果单从功能上来说,可以使用RS-...
2019-10-24 00:26:17
3290
原创 RS233通信协议与osi七层模型中的物理层,数据链路层的对比
物理层: 什么代表0,什么代表1,波特率是多少,接口的定义,物理接口定义,传输介质,有几根线,使用信号传输还是单端信号传输数据链路层: 链路,就是从一个结点到相邻结点的一段物理线路,中间没有任何其他的交换结点。 举个例子: 小明在金华,需要去莫斯科的某地,假设小明的路线: 出发地 -----------汽车...
2019-10-20 22:22:19
1826
原创 设置elf文件链接库的路径
patchelf --set-rpath …/…/openssl/lib/ ./libwebsockets.so.12
2019-03-20 01:10:14
776
原创 深挖通信底层原理
原理分析假设:a是客户端,b是服务端tcp连接是全双工的,全双工中重要的一点就是消息可以从a到b,也可以从b到a。第一次握手及第二次握手确保a知道a发的消息b可以收到第二次握手及第三次握手确保b知道b发的消息a可以搜到...
2019-02-26 22:52:01
660
原创 socket通信实例
//server#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <stdio.h>#define BACK_LOG 20#define BUF_SIZE 64int m...
2019-01-11 20:12:20
282
原创 Makefile
出现以下条件,Makefile文件中的命令会被执行1、目标文件不存在2、目标文件所依赖的文件有更新Makefile格式:目标文件:依赖文件[tab] 命令如:hello:hello.o a.o gcc -o hello.o a.ohello.o:hello.c gcc -o hello.o -c hello.ca.o:a.c gcc -o a.o...
2019-01-11 20:11:33
230
原创 进程间通信-共享内存实例
//shmdata.hstruct shm_st{ int flag; //0可读不可写,1可写不可读 char text[BUFSIZ];}; //shmwrite.c#include <stdio.h>#include <sys/ipc.h>#include <sys/shm.h>#include "shmdata...
2019-01-11 20:10:39
270
原创 shell脚本比较
(1) 字符串比较:= 或 ==:比较两个字符串是否相同,相同则为“是”。!=:比较两个字符串是否相同,不同则为“是”。-n:比较字符串的长度是否大于0,如果大于0则为“是”。-z:比较字符串的长度是否等于0,如果等于0则为“是”。(2)数字比较:-eq:相等。-ge:大于等于。-le:小于等于。-ne:不等于。-gt:大于。-lt:小于。不能使用&...
2018-11-28 23:45:13
1655
串行通讯起始位、数据、奇偶和停止位透解.doc
2019-11-14
mount --bind,怎么找到源目录在哪里?
2021-09-15
objdump -d 第二列的16进制数据是代表什么?
2020-04-29
怎样计算e^jwt从负无穷到正无穷对t的积分,要求写出详细步骤,不要使用频移特性
2019-04-21
哪里有开源https服务器或者怎么搭建https服务器
2018-06-02
windows下vs工程复制该怎么实现
2018-04-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人