自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 [go语言]使用系统调用时返回 bad file descriptor

最近在写一个go语言版本的libfuse时发现往文件中写入数据到达一定次数时返回bad file descriptor.

2022-06-27 23:34:04 822

原创 二叉树遍历算法-go语言实现

文章目录二叉树结构定义数组转二叉树非递归先序遍历非递归中序遍历非递归后序遍历层次遍历如果文章中出现什么错误,或遇到了什么困难。欢迎指出,感谢。很久没有写算法了,现在要去面试又要捡起来。二叉树的遍历都快忘光了,在网上搜了搜,发现网上的各种算法都复杂(哭)。我就打算自己总结一些适用于算法的二叉树算法。二叉树结构定义type TreeNode struct { Val int Left,Right *TreeNode }数组转二叉树func CreateTree(nums []int) *T

2021-09-09 09:17:31 326

原创 [go语言 golint警告]redundant type from array, slice, or map composite literal

**问题:**碰到golint 提示redundant type from array, slice, or map composite literal。翻译:数组、切片或映射复合文字中的冗余类型。原因:var foo = map[int][]int{ 0: []int{1, 2}, 1: []int{1, 2},}如上面代码改所示,foo的类型已经通过声明知道是map[int][]int。很明显,foo的键值对中的值一定为[]int,所以不需要 额外声明键值对中的值的类型。直接使用{},

2021-06-29 18:55:07 7572

原创 经典同步问题Go语言实现

引言并发编程中各个并发实例有许多的制约关系,为了协调各个实例的制约关系,引入了同步的概念。下面了解几个经典的同步问题:生产者消费者问题读写者问题哲学家就餐问题吸烟者问题许多的同步问题都可以简化为这三类问题。基本概念解决这些问题只需要了解互斥这个概念就可以做到,下面来了解一些基本概念。临界资源: 系统中的某些资源一次只能有一个并发实例使用,多个实例使用时是未定义的。临界区:并发实例中访问临界资源的那段代码。同步:多个并发实例为了协调工作次序而形成的相互制约关系。互斥:当一个并发实

2020-11-19 23:29:34 589 1

原创 [踩坑笔记]sdl2/minGW-64 undefined reference to `WinMain‘

问题分析:主函数main 是否拼写错误,如:mani、mian之类的。注意库的链接顺序,如下:g++ main.cpp -lmingw32 -lSDL2main -lSDL2

2020-11-02 14:02:31 3435 2

原创 Go语言-切片截断时未置空导致的内存泄露

引言go与语言在使用切片截断时,底层数组没有改变,依然持有指向堆内存的指针,导致内存无法释放。// 示例type Node [100]bytedata := []*Node{}for i:=10; i<10; i++ { tmp := &Node{} data = append(data,tmp)}data = data[:len(data)-1] // 此时由于底层数组没有改变 所以内存不会释放切片的数据结构type arr struct { Data

2020-09-26 20:43:25 835

原创 Go语言中的闭包递归函数

如何在go语言中使用递归的闭包?//! 注意以下是错误的示范//! 不能够编译myfunc := func(n int) int{ if n==0 { return 0 } return myfunc(n-1)}go语言不能在使用类型推断时构造递归的闭包。这时闭包没有被申明,编译器找不到递归函数的符号。// 这是正确的做法var myfunc func(a int) intmyfunc = func(n int) int{ if n==0 { return 0 } re

2020-08-28 17:40:19 358

原创 [2]游戏编程系列-游戏程序的基本框架

[2]游戏编程系列-游戏程序的基本框架注意:程序需要用到 SDL 库。不知到如何配置 SDL 请看上一篇文章。[1]游戏编程系列-VisualStudio配置第三方库详解-SDL游戏循环游戏程序在运行时,每一秒都要对程序进行多次的更新。游戏的每次循环就是一帧,如果游戏有60帧,那么游戏每秒循环60次。通过快速的更新新画面,游戏会让人对画面中的对象产生连续移动的错觉。帧速率可以和帧频...

2020-04-22 11:04:15 597

原创 [1]游戏编程系列-VisualStudio配置第三方库详解-SDL

[1]游戏编程系列-VisualStudio配置第三方库详解-SDLVisualStudio是windows 下常用的IDE,功能强大。但是功能过于强大会让初学者不知所措。每次调用第三方库的时候都很麻烦,在这里就记录一下自己踩过的坑。读完这篇文章你将了解:C/C++的编译过程VS使用第三方库的配置配置学习游戏开发的常用库:SDLC/C++的编译过程在了解如何配置前了解C/C++的...

2020-04-17 20:03:39 794

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除