自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 GCC在新版MacOS系统中的安装问题

本文介绍了GCC在M系列的MacOs系统中的安装问题。

2023-09-24 11:37:40 864

原创 Golang跨平台编译

本文介绍了Golang跨平台编译的一些常用选项参数,并给除了几个常用的跨平台编译的例子。

2023-08-21 15:41:50 753

原创 Golang学习之编写简单服务器缓存消息

摘要\qquad本文基于Golang编写一个Http的缓存服务器,用于了解http服务器后台编写以及服务器程序与上层应用实体之间如何进行消息传递。正文原理描述\qquad整个简单服务器的编写分为两方面,分别是实际处理消息的Proc实体和对外部提供服务的server实体。整个模块的通信方式包括,两个实体server和Proc的之间依靠通道(Channel)进行通信;客户端和服务器实体利用TCP/IP协议通信。代码描述– 主函数代码func TestExecute(t *testing.T

2022-03-31 12:05:25 2590

原创 多线程程序中可能存在的问题(1)

摘要多线程程序在处理公共变量的时候,要注意多线程之间可能存在的问题。在实际程序运行期间,由于各线程运行时间周期的存在差异,这可能导致不同的线程在读取相同的内存地址数据(公有变量数据)时,可能存在多个线程读取到相同的数值。特别是系统繁忙的时候,这种问题发生的概率将变高。具体实例下列函数在处理字典a的数据时,由于启动的多个线程都会在启动之后调用主线程的公共变量k,v。此时,由于主线运行速度相对比较慢,那么这会导致不同的线程程读到了相同的值。func TestMultiThreadProblem(t

2022-03-01 17:35:02 673

原创 Golang结构体和Json格式数据之间的转换

1. 结构体到json格式1.1 简单转换基本的Golang结构体转换成JSON格式数据,主要在结构体的相关字段中加入json : "keyword"字段。具体做法如下:type Structname struct{ feild1 Type1 `json:"keyword1"` feild2 Type2 `json:"keyword2"`}相关具体实例如下:package messageimport ( "encoding/json" "log" "testing")typ

2022-02-18 21:54:37 12325

原创 Docker容器管理之Dockercompose.yml文件格式说明

摘要本文主要介绍dockercompose.yml文件的基础格式,以及相关的基础配置设置信息,主要参考文献是The Compose Specification。docker-compose文件规范docker-compose文件的编写主要是基于一种配置文件格式yml文件,基本的yml文件格式主要可以参照YAML 入门教程。yml文件格式说明这一部分的yml文件格式主要参考YAML 入门教程,在docker-compose.yml文件中会使用到的基础格式如下。基本语法:文件格式 .yml大小写

2022-01-27 22:06:18 3545

原创 Docker容器管理之Docker-Engine的安装及基础配置

摘要本文主要介绍Ubuntu系统下,docker及docker-compose的基本安装过程。1. docker的安装首先,读者应进入Docker-Egine的安装指导页面,并根据自己的系统版本选择所需的安装的Docker-Engine的平台版本。本文主要基于Ubuntu的高级软件管理工具进行安装说明。移除以前老版本的Docker-Enginesudo apt-get remove docker docker-engine docker.io containerd runc用仓库安装

2022-01-23 17:45:38 7223

原创 Golang之特殊关键字的使用

自增长量iota在const定义中的使用下列常量行为const ( prepare msgtype = iota commit)等价于const ( prepare msgtype = 0 commit msgtype = 1)

2022-01-16 20:10:39 407

原创 Golang学习之接口的使用

摘要Golang的接口在实际的开发当中具有重要的作用,掌握接口的使用可以在一定场景下实现一些特殊的功能。正文本文主要围绕以下几个方面来讲解Golang接口的使用。类和类的继承Golang没有像C++一样的类,在Golang中,继承的实现是依靠结构体来实现,为了限定子类只继承部分父类的方法,这里需要引入接口来实现。函数的形参...

2022-01-13 20:58:13 1686

原创 Go语言和C语言之间实现内存共享的坑

摘要Go语言和C语言进行交互,一定会涉及两种语言的内存共享,但是在进行内存共享时一定要注意避开Go语言的内存检查机制。正文在Go1.6.2版本之后,C语言和Go语言之间加入了指针传递违规检测机制。Go语言和C语言交互时,一定要尽量遵循该机制,实在需要违规操作则需要在执行时,加入一些特殊的指令参数来绕开检测。Go1.6.2版本之后的检查机制Go 1.6.2版本之后,CGO指针传递的检查机制由Ian Lance Taylor提出,具体规则由C代码不能存储任何Go指针,即使临时性存储也不行传递带

2022-01-10 22:53:11 2780 1

原创 Go语言与C语言的数组创建对比

摘要Go语言和C语言,存在静态和动态两种数组。本文结合Go语言和C语言的代码测试分析这两种语言下的静态与动态数组的区别与联系。正文Go语言的数组和C语言的数组在数据结构上是一样的,对于数组α[n]=[a0a1⋯ ,an]\alpha[n]=[a_{0}a_{1}\cdots,a_{n}]α[n]=[a0​a1​⋯,an​],相同点都是开一个连续的空间存储数据;两种语言编写的静态数组和动态数组在内存分配方式上几乎相同,不过,在动态数组分配上,Go语言的切片实际上是一段内存地址指向的模式,而C语言采用的实

2022-01-06 22:13:07 704

原创 C语言初级--C源码编译过程

摘要C语言编译过程分为预处理过程、编译过程、链接过程三部。这里采用gcc的相关参数对C语言编译的每一步进行分析。预处理过程执行预编译指令,主要是头文件引入,宏文件及指令的展开。情况1.不导入头文件int add(int a,int b){ return a+b;}执行结果添加空头文件d.h文件为空文件,d.c文件如下所示。#include "d.h"int add(int a,int b){ return a+b;}头文件中添加宏d.h源文件如下#de

2022-01-05 23:14:15 1821

原创 Golang的指针运算方式

摘要Go语言在进行指针移动时候,不能像C语言一样使用++的形式进行递增,而需要采用另一种特殊的运算形式。具体实例C语言实现指针对动态数组访问通过下标对动态数组进行访问#include <stdio.h>#include <stdlib.h>void alloc (int *a,int n){ a=(int*)malloc(n*sizeof(n)); for(int i=0;i<n;i++){ a[i]=i*i+1; } for(int i=0;i

2022-01-04 16:24:43 1407

原创 初学Python之math模块在哪里?

引言2015年上半年,首次接触过Python。作为一个非计算机科班出身的我来说,在跟着学校教计算机课程的老师学玩C++之后,首次在网易云课堂上接触了Python。Python以其没有太高的语法门槛吸引了我,学习过C++和C的我,其实对于C和C++的各种语法规则深恶痛绝,特别是每次你编程时都要定义输入参数的变量类型,烦啊。尽管当时Python并不像现在这么流行,但是Python对于人类来说确实很友好,编写Python就像是在写英语一样。2015年的Python没有现在这么流行,主要原因是当时的大环境的特点是

2021-12-23 17:50:58 2539

Stochastic Process

不错的随机过程专业教程,全面地讲述随机过程的相关基础知识。

2018-01-27

空空如也

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

TA关注的人

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