当前位置: 首页 > news >正文

Golang 执行流程分析

文章目录

  • 1. 编译和运行
  • 2. 编译和运行说明

1. 编译和运行

  • 如果是对源码编译后,再执行,Go的执行流程如下图

在这里插入图片描述

  • 如果我们是对源码直接 执行 go run 源码,Go的执行流程如下图

在这里插入图片描述

两种执行流程的方式区别

  1. 如果先编译生成了可执行文件,那么可以将该可执行文件拷贝到没有go开发环境的机器上,仍然可以运行
  2. 如果是直接 go run go源代码,那么如果要在另外一个机器上这么运行,也需要go开发环境,否则无法执行
  3. 在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件变大了很多

2. 编译和运行说明

  1. 有了go源文件,通过编译器将其编译成机器可以识别的二进制码文件。

  2. 在该源文件目录下,通过go buildhello.go 文件进行编译。可以指定生成的可执行文件名,在windows 下必须是 .exe 后缀。

  3. 如果程序没有错误,没有任何提示,会在当前目录下会出现一个可执行文件(windows下是 .exe ,Linux 下是一个可执行文件),该文件是二进制码文件,也是可以执行的程序。

  4. 如果程序有错误,编译时,会在错误的那行报错。有助于程序员调试错误

  5. 运行有两种形式

    • 直接运行生成的可执行Go程序,比如:hello.exe
    • 通过运行工具go run对源代码文件进行运行
http://www.lryc.cn/news/529878.html

相关文章:

  • python学opencv|读取图像(五十一)使用修改图像像素点上BGR值实现图像覆盖效果
  • Flask数据的增删改查(CRUD)_flask删除数据自动更新
  • kamailio-ACC模块介绍【kamailio6.0. X】
  • 数据库对象
  • EtherCAT主站IGH-- 27 -- IGH之globals.h文件解析
  • 2025多目标优化创新路径汇总
  • 15JavaWeb——Maven高级篇
  • 使用Ollama本地化部署DeepSeek
  • 蓝桥杯刷题DAY1:前缀和
  • 【基于SprintBoot+Mybatis+Mysql】电脑商城项目之用户注册
  • MINIRAG: TOWARDS EXTREMELY SIMPLE RETRIEVAL-AUGMENTED GENERATION论文翻译
  • 微服务入门(go)
  • Baklib揭示内容中台实施最佳实践的策略与实战经验
  • C++11新特性之lambda表达式
  • 洛谷 P10289 [GESP样题 八级] 小杨的旅游 C++ 完整题解
  • 使用 Tauri 2 + Next.js 开发跨平台桌面应用实践:Singbox GUI 实践
  • JWT入门
  • Python - Quantstats量化投资策略绩效统计包 - 详解
  • 智慧园区管理系统推动企业智能运维与资源优化的全新路径分析
  • 【数据结构-字典树】力扣14. 最长公共前缀
  • 《深入浅出HTTPS​​​​​​​​​​​​​​​​​》读书笔记(31):HTTPS和TLS/SSL
  • Go学习:Go语言中if、switch、for语句与其他编程语言中相应语句的格式区别
  • L30.【LeetCode笔记】设计链表
  • java日志框架详解-Log4j2
  • C++中vector追加vector
  • 加一(66)
  • 远程连接-简化登录
  • canvas的基本用法
  • Tailwind CSS - Tailwind CSS 引入(安装、初始化、配置、引入、构建、使用 Tailwind CSS)
  • 鸿蒙开发黑科技“stack叠层”替代customdialog