模块与包
使用第三方包--包导入
导入是一种用来将其他包或其他包中的成员引入到当前程序中的机制。
单导入 别名导入 全导入 批量导入
导入名称冲突检查
包声明--------包声明
创建包和分发包
写程序的人需要的包管理器,和管理系统的人需要的包管理器
Cangjie
在仓颉编程语言中
包 package是编译的最小单元,每个包可以单独输出 AST 文件、静态库文件、动态库文件等产物.包由一个或多个源码文件组成,
模块 module 是若干包的集合,是第三方开发者发布的最小单元
###包声明
包声明以关键字 package 开头 包声明必须在源文件的非空非注释的首行
仓颉有 4 种访问修饰符:private、internal、protected、public,
pacakge 支持使用 internal、protected、public,默认修饰符为 public
###包的导入
包的导入
隐式导入:隐式导入 core 包
显示导入:使用 import 语句导入其它包中的声明或定义
使用 import as 对导入的名字重命名
###其他
扩展概述 扩展可以为在当前 package 可见的类型(除函数、元组、接口)添加新功能
C++和C
cmake 除了用 find_package 引入依赖,就是 add_subdirectory
编译成动态/静态库
make/autotools/cmake
Source
Python
module
包管理工具
pip、conda
包引入
import
包分发
Rust
Rust 也提供了相应概念用于代码的组织管理
项目(Packages)
因此它包含有独立的 Cargo.toml 文件,以及因为功能性被组织在一起的一个或多个包
工作空间(WorkSpace)
包(Crate):一个由多个模块组成的树形结构
Rust 而言,包是一个独立的可编译单元,它编译后会生成一个可执行文件或者一个库
包只是一个编译单元 库包和二进制包
模块(Module)
mod 关键字来创建新模块
可以使用 use 关键字把路径提前引入到当前作用域中,随后的调用就可以省略该路径
标签:package,管理工具,Cangjie,编译,仓颉,导入,模块,声明
From: https://www.cnblogs.com/ytwang/p/18559045