Documentation ¶
Index ¶
Constants ¶
View Source
const ( WaBackend_Default = WaBackend_wat // 默认 WaBackend_clang = "clang" // 输出 c WaBackend_llvm = "llvm" // 输出 llir WaBackend_wat = "wat" // 输出 wat )
编译器后端类型
View Source
const ( WaOS_Default = WaOS_wasi // 默认 WaOS_arduino = "arduino" // Arduino 平台 WaOS_chrome = "chrome" // Chrome 浏览器 WaOS_wasi = "wasi" // WASI 接口 WaOS_mvp = "mvp" // MVP 接口, 最小可用 )
目标平台类型, 可管理后缀名
View Source
const ( WaArch_Default = WaArch_wasm // 默认 WaArch_386 = "386" // 386 平台 WaArch_amd64 = "amd64" // amd64 平台 WaArch_arm64 = "arm64" // arm64 平台 WaArch_riscv64 = "riscv64" // riscv64 平台 WaArch_wasm = "wasm" // wasm 平台 )
体系结构类型
View Source
const WaModFile = "wa.mod"
模块文件
Variables ¶
View Source
var ( DebugMode = false EnableTrace_api bool EnableTrace_app bool EnableTrace_compiler bool EnableTrace_loader bool )
View Source
var WaArch_List = []string{ WaArch_386, WaArch_amd64, WaArch_arm64, WaArch_riscv64, WaArch_wasm, }
CPU 列表
View Source
var WaBackend_List = []string{ WaBackend_clang, WaBackend_llvm, WaBackend_wat, }
后端列表
View Source
var WaOS_List = []string{ WaOS_arduino, WaOS_chrome, WaOS_wasi, WaOS_mvp, }
OS 列表
Functions ¶
func SetDebugMode ¶
func SetDebugMode()
Types ¶
type Config ¶
type Config struct { WatOutput string // 输出的 wat 文件路径 WaBackend string // 编译器后端 WaRoot string // 凹 程序根目录, src 目录下是包代码, 为空时用内置标准库实现 WaArch string // 目标 CPU WaOS string // 目标 OS WaSizes StdSizes // 指针大小 BuilgTags []string // 条件编译的标志 UnitTest bool // 单元测试模式 Optimize bool // 是否优化 Debug bool // 调试模式 LDFlags // 链接参数 }
通用配置信息
func DefaultConfig ¶
func DefaultConfig() *Config
type Manifest ¶
type Manifest struct { Root string `json:"root"` // WaModFile 所在目录 MainPkg string `json:"main"` // 主包路径 IsStd bool `json:"-"` // 是标准库 Pkg Manifest_package `json:"package"` }
WaModFile 文件结构
func LoadManifest ¶
加载 WaModFile 文件 如果 vfs 为空则从本地文件系统读取
func (*Manifest) JSONString ¶
type Manifest_package ¶
type Manifest_package struct { Name string `json:"name"` // 名字 Pkgpath string `json:"pkgpath"` // 模块的导入路径 Version string `json:"version"` // 版本 Authors []string `json:"authors,omitempty"` // 作者 Description string `json:"description,omitempty"` // 一句话简介 Documentation string `json:"documentation,omitempty"` // 包文档链接 Readme string `json:"readme,omitempty"` // README 文件 (Markdown 格式) Homepage string `json:"homepage,omitempty"` // 主页 Repository string `json:"repository,omitempty"` // 代码仓库 License string `json:"license,omitempty"` // 版权 LicenseFile string `json:"license_file,omitempty"` // 版权文件 Keywords []string `json:"keywords,omitempty"` // 关键字 Categories []string `json:"categories,omitempty"` // 领域分类 }
包基础信息
Click to show internal directories.
Click to hide internal directories.