- 博客(127)
- 收藏
- 关注

原创 CC++查漏补缺
培养个人才能,无可替代,确定个人职业目标,专业技术性人才,自主学速度习,提升专业能力,打字速度是基本功,多加练习,实现盲打,提高准确度,速度,练习时间,3个月,每天1小时,专业书籍阅读,不要期待别人一句句教你都很忙,没时间搭理你。解决年龄焦虑,最好的办法是行动,明确目标,脚踏实地。 完善个人知识体系,及时归纳总结,查看招聘需求,明确欠缺的知识,自己补短板,充分利用网络资源...
2018-05-05 17:49:53
944
原创 如何将git 远程仓库update新建分支同步test到个人own仓库
如果你的个人仓库已经有一个名为test的分支,并且你不希望覆盖它,你可能需要先删除或重命名现有的test分支,或者选择另一个名称来推送你的新分支。如果你还没有将原始仓库(即包含new-branch的那个仓库)添加为你的远程仓库,你需要先添加它。现在,test分支已经被成功推送到你的个人仓库中了,它包含了upstream/new-branch分支的所有内容。这里的origin是默认的远程仓库名(通常指向你克隆的仓库),而test是你希望在你的个人仓库中创建的分支名。首先,确保你已经克隆了你的个人仓库到本地。
2024-09-30 09:41:57
662
1
原创 git的使用常见问题
git remote add origin https://github.com/Demodevelop/someproject.git //远程仓库的fork 仓库。git remote add upstream https://github.com/Soft/someproject.git //远程主干仓库。需要将远程仓库的修改同步到fork 仓库,保持个人仓库同步,4、将拉取到本地的代码 push 到个人fork 仓库。2、切换到fork 本地仓库分支、3、从远程仓库拉取代码。
2024-07-29 20:23:18
330
1
原创 Coredump 分析基础
缺省值是 60s,2.2 内核通常是 180s,你可以按这个设置,但要记住的是,即使你的机器是一个轻载的 WEB 服务器,也有因为大量的死套接字而内存溢出的风险,FIN-WAIT-2 的危险性比 FIN-WAIT-1 要小,因为它最多只能吃掉 1.5k 内存,但是它们的生存期长些。 启用有选择的应答(1表示启用),通过有选择地应答乱序接收到的报文来提高性能,让发送者只发送丢失的报文段,(对于广域网通信来说)这个选项应该启用,但是会增加对CPU的占用。 该参数用于设置时间戳,可以避免序列号的卷绕。
2024-01-09 14:44:56
557
原创 写数据刷新的实现
fflush是libc.a中提供的方法,是用来将流中未写的数据传送到内核。对于提供事务支持的数据库,在事务提交时,都要确保事务日志(包含该事务所有的修改操作以及一个提交记录)完全写到硬盘上,才。fflush:是把C库中的缓冲调用write函数写到磁盘[其实是写到内核的缓冲区]。fsync, 将缓冲区的数据写到文件中.(有一个参数 int fd)c库缓冲—–fflush———〉内核缓冲——–fsync—–〉磁盘。fsync是同步打开的一个文件到缓冲区数据到磁盘上.sync,是同步整个系统的磁盘数据的.
2023-12-27 11:21:21
504
原创 dlopen 打开失败
3、找不到标识符号,可以将错误信息打印出来,使用nm -u test.so可以找出来没有定义的符号。2、确认目标文件是否是动态库(用ldd 文件名, 若不能查到文件信息,说明不是动态库文件)1、确认路径是否正确。1、修改到正确的路径。3、增加符号的定义。
2023-12-12 14:22:05
1549
原创 linux 下gdb 调试
编译加上参数 -g查看源码查看参数gdb可支持的变量显示格式有:x:按16进制格式显示变量d:按10进制格式显示变量u:按16进制格式显示无符号整型o:按8进制格式显示变量t:按2进制格式显示变量c:按字符格式显示变量f:按浮点数格式显示变量查看一个二级指针的数据先查看变量地址查看二级指针保存数据地址:二级指针存放的数据地址:0x406680查看该地保存的字符数据或者直接 x /31s *0x7fffffffcac0 查看查看内存值。
2022-11-08 16:39:49
1180
原创 D-bus学习笔记一 基础知识篇
D-Bus是GNOME和KDE环境中广泛使用的进程间通信的软件,D-Bus允许用户做方法调用或者捕获从别的程序发送的信号,从而达到进程通信的目的。Dbus 使用指南1. dbus 是什么?d-bus 是类unix 操作系统IPC 机制可用于系统通知,桌面交互操作低开销:使用二进制协议,需要类似XML文本格式转换易使用:使用 message 来通讯,开发者可利用d-bus动态库使用d-bus已有的object/type 系统开发1.2dbus 类型system bus系统更新通知
2022-02-16 14:52:25
2633
原创 golang常见问题解决
整理汇总golang 学习中常见的问题问题: go test进行单元测试时,出现undefined方法或者command-line-arguments [build failed原因:解决方案:go test进行单元测试时,出现undefined方法或者command-line-arguments [build failed]解决方案...
2022-02-10 10:04:52
626
转载 go 线程池实现
package mainimport ( "errors" "fmt" "sync" "sync/atomic" "time")// 定义任务type Task struct { Handler func(v ...interface{}) //可变参数 ,处理可变参数 Params []interface{} // 定义空接口}// 任务池的定义type Pool struct { capacity uint64 runningWork
2022-02-09 17:45:04
770
原创 go for range 遍历
range expression1st Valuearray[n]E,*[n]Eindexintslice []Eindexintstring abcd inde xintrune intmapmap[k]vkeykchannelelement
2022-02-09 13:46:43
423
原创 go 占位符作用
go中占位符号在代码中作用range类似迭代器,可以遍历数组,字符串,map等等,对象的不同,返回的结果也不同。range会复制对象,而不是不是直接在原对象上操作。关键字 range 会返回两个值,第一个值是当前迭代到的索引位置,第二个值是该位置对应元素值的一份副本,如下图所示。package mainimport "fmt"func main() { // 这里我们使用range来计算一个切片的所有元素和 // 这种方法对数组也适用 nums := []int{2, 3, 4
2022-02-09 11:53:07
346
原创 go指针进行数据交换
package mainimport "fmt"func swap(a, b *int) { t := *a *a = *b *b = t}func swap2(a *int, b *int) { t := *a *a = *b *b = t}func main() { x, y := 10, 20 swap(&x, &y) fmt.Println(x, y) u, v := 101, 202 swap2(&u, &v)
2022-02-09 10:16:16
409
原创 Go 并发编程
go 并发实现go 多线程如何实现同步实现格式:go 函数名(参数列表)函数名: 要调用的函数名参数列表:调用函数需要传入的参数使用go 关键字创建goroutine时,被调用函数的返回值会被忽略,如果需要在goroutine中返回数据,使用channel进行返回。package mainimport ( "fmt" "time")func goroutine1() { fmt.Println("Hello goroutine")}func main() { go
2022-02-08 16:54:55
135
原创 go 并发
go 并发的实现,以及多线程的同步go 语言具有天生的并发优势,很方便实现并发。1.go怎么实现多线程那?2.go 多线程的同步怎么实现3.go 如何避免死锁问题一案例问题二案例问题三案例
2022-02-08 14:24:14
405
原创 使用go mod 进行包管理
go range make 功能* Go 语言中 range 关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 对。* make 的作用是初始化内置的数据结构,也就是我们在前面提到的切片、哈希表和 Channel2;* new 的作用是根据传入的类型分配一片内存空间并返回指向这片内存空间的指针3;使用go mod 进行包管理命令作用
2022-01-23 10:19:15
770
原创 go Slice 的用法
切片的实现(类似数组)map 的实现声明方式:var map1 map[keytype]valuetypevar map1 map[string]int([keytype] 和 valuetype 之间允许有空格,但是 gofmt 移除了空格)在声明的时候不需要知道 map 的长度,map 是可以动态增长的。未初始化的 map 的值是 nil。key 可以是任意可以用 == 或者 != 操作符比较的类型,比如 string、int、float。所以数组、切片和结构体不能作为 key (译
2022-01-23 10:18:21
212
原创 go匿名函数
匿名函数和闭包关系我们不希望给函数起名字的时候,可以使用匿名函数,匿名函数同样称为闭包.package mainimport "fmt"func main() { f()}func f() { for i := 0; i < 4; i++ { g := func(i int) { fmt.Printf("%d ", i) } g(i) fmt.Printf(" - g is of type %T and has value %v\n", g, g) }}
2022-01-23 10:16:21
229
原创 golang 中channel (管道)的使用
go 管道的使用什么是管道管道(Channel)是Go语言中比较重要的部分,经常在Go中的并发中使用,channle 本质就是一个数据结构-队列数据是先进先出【FIFO : first in first out】线程安全,多 goroutine 访问时,不需要加锁,就是说 channel 本身就是线程安全的channel 有类型的,一个 string 的 channel 只能存放 string 类型数据。类似 unix 使用的pipe()管道的定义var chanName chan E
2022-01-23 09:43:09
1159
2
原创 golang 开发环境部署
首先下载go 开发的sdk ,进行安装安装完以后,特别需要注意需要设置环境变量go version需要根据实际安装情况设置系统环境变量:window 安装go sdk 过程window环境设置go 环境变量
2022-01-22 21:25:44
328
原创 kernel Makefile srctree变量的含义
# Use make M=dir to specify directory of external module to build# Old syntax make ... SUBDIRS=$PWD is still supported# Setting the environment variable KBUILD_EXTMOD take precedenceifdef SUBDIRS KBUILD_EXTMOD ?= $(SUBDIRS)endififeq ("$(origin M)",.
2021-09-09 17:27:44
2716
原创 linux 环境安装golang开发环境
$ wget https://studygolang.com/dl/golang/go1.13.6.linux-amd64.tar.gz$ tar -zxvf go1.13.6.linux-amd64.tar.gz$ sudo mv go /usr/local/使用编辑器例如vim /etc/profile 命令打开 profile 文件,并将下面的环境变量添加到文件末尾。添加完成后使用:wq 命令保存并退出。export GOROOT=/usr/local/goexport PA...
2021-06-29 18:55:54
694
原创 feof判断文件结尾,最后一行重复读,问题分析和处理方案
#include<string.h>#include<stdio.h>int main(){ char buf[10]; FILE *fp = NULL; if((fp=fopen("./1.txt","r"))==NULL) { printf("open file failed \n"); } while(!feof(fp)) { fgets(buf,10,fp); printf("buf = %s", buf); }}..
2020-11-28 20:08:58
1070
原创 客户端与服务器通信乱码问题处理
问题背景:之前服务器端和客户端使用的GB2312 编码,项目需要服务器和客户端都需要切换到utf-8编码客户端使用C、C++ 利用qt 开发, 服务器使用java开发
2020-08-08 19:22:18
281
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人