Golang gcc环境的安装与使用

776 阅读1分钟

序言

在学习golang并发编程的过程中安装gcc编译器套件时时遇到了一些问题,于是这里记录下来,以便后序同学安装使用。

windows环境下 winGW的安装与使用

1.环境准备

1.Windows11

2.go1.22.1

3.winGW下载链接(亲测go1.22.1版本支持winGW13.2版本的使用,8.3版本的winGW不再适用)

github.com/niXman/ming…

2.开始安装

1.下载完压缩包直接解压到winGW安装路径(非系统盘也可,我安装在了D盘)

image.png

2.此时打开你安装路径中的bin目录,copy全路径(后序设置环境变量使用)

image.png

3.配置环境变量

(我的电脑右键->属性->高级系统设置->环境变量,记得要加分号与其他环境区分开) image.png 添加完后一路点击确定,只有点击确定环境变量才会生效,重启goland是刚添加的环境变量生效。

4.打开c go 使用 开关

go env -w CGO_ENABLED=1  

5. 到这里就可以使用我们的Go race detector(go资源竞争检测器)了

6. 测试代码(这里存在count共享资源并发竞争的问题)

var count = 0
// 使用WaitGroup等待10个goroutine完成
var wg sync.WaitGroup
wg.Add(10)
for i := 0; i < 10; i++ {
    go func() {
       defer wg.Done()
       // 对变量count执行10次加1
       for j := 0; j < 100000; j++ {
          count++
       }
    }()
}
// 等待10个goroutine完成
wg.Wait()
fmt.Println(count)

7.使用go run -race main.go运行时检测我们的程序是否存在并发安全问题

可以看到警告信息

image.png