pdf文档 Julia 1.8.2 Documentation

5.04 MB 1563 页 0 评论
语言 格式 评分
英语
.pdf
3
摘要
文档详细阐述了Julia语言的文档系统,包括访问和编写文档的方法,如在REPL中使用问号获取帮助,IDE中的文档访问方式,以及文档字符串的语法。同时,文档介绍了调试Julia C代码的方法,包括内存分配调试、线程检测和DTrace工具的使用。还涵盖了Base模块的子模块,如Base.Broadcast和Base.Docs,同时提供了如何报告Julia崩溃问题和使用外部工具进行系统调用跟踪的指南。
AI总结
以下是对《Julia 1.8.2 Documentation》内容的总结,按照文档的结构和内容层次进行梳理,核心观点和关键信息已突出: --- ### **1. 访问文档** - 在REPL或IJulia中,输入`?`后跟函数、宏或字符串宏名称,按回车即可查看文档。 - 示例:`?cos`、`?@time`、`?r""` - 主流Julia环境支持直接访问文档: - VS Code:悬停函数名或使用侧边栏搜索。 - Pluto:打开右下角的"Live Docs"面板。 - Juno:使用`Ctrl-J, Ctrl-D`查看光标下的对象文档。 --- ### **2. 编写文档** - 使用docstring(字符串文档)可以轻松为函数、类型和其他对象添加文档。 - 语法:在对象(函数、宏、类型)之前放置一个字符串即可。 - 示例: ```julia "Tell whether there are too foo items in the array." foo(xs::Array) = ... ``` --- ### **3. 开发和调试Julia的C代码** #### **调试工具** - **内存检查**:使用Clang的Memory Sanitizer(MSAN),编译时设置`SANITIZE_MEMORY=1`。 - **线程检查**:使用Clang的Thread Sanitizer(TSAN),编译时设置`SANITIZE_THREAD=1`。 - **DTrace和bpftrace**:动态 instrumentation工具,可实时开启或关闭instrumentation,适用于Linux、Mac OS/Darwin和FreeBSD。 - 在Linux上安装`systemtap`包以支持DTrace。 - Julia 1.8添加了对probes的支持。 #### **崩溃和错误分析** - **崩溃报告**:收集包括版本信息、崩溃迹象和系统信息在内的调试信息。 - **错误类型**: - 启动过程中的崩溃:使用`strace`(Linux)或`dtruss`(Mac)跟踪问题。 - 一般崩溃:使用`rr`生成执行轨迹(仅Linux)。 #### **构建调试版本** - 使用`make debug`构建带有ASAN支持的`julia-debug`。 --- ### **4. Julia REPL** #### **启动和退出** - 启动:`julia`命令或双击可执行文件。 - 退出:空行输入`Ctrl-D`或执行`exit()`。 #### **操作模式** - **Julian模式**:默认模式,输入Julia表达式并执行。 - 示例:`julia> string(1 + 2)`输出"3"。 - 特性:结果保存在变量`ans`,末尾分号可抑制输出。 - **帮助模式**:输入`?`进入,查找文档或帮助信息。 #### **历史和其他功能** - 支持搜索历史、制表符补全、帮助模式和Shell模式。 --- ### **5. I/O和网络** - **多媒体I/O**: - `display(x)`:显示对象的多媒体表示。 - `show`:自定义多媒体表示,支持MIME类型。 - `pushdisplay`:注册自定义显示后端。 - **屏幕尺寸**:`displaysize([io::IO])`返回屏幕尺寸, 默认为(24, 80),可通过环境变量`LINES`和`COLUMNS`设置。 --- ### **6. Base子模块** - 关键子模块包括: - `Base.Broadcast`:广播实现。 - `Base.Docs`:文档元数据支持。 - `Base.Meta`:元编程工具。 - `Base.Threads`:多线程支持。 - `Base.Sys`:硬件和操作系统信息。 - `Base.GC`:垃圾回收工具。 --- ### **7. 学习资源** - 官方学习资源列表可从Julia官网的学习页面获取。 - REPL帮助模式:输入`?`并搜索关键词或函数。 --- ### **8. 工具和调试** - **LLVM选项**:`LLVM`和`libLLVM`版本信息。 - **调试工具**: - `rr`:时间旅行调试工具,适用于Linux。 - `strace`和`dtruss`:跟踪系统调用。 - **版本信息**: - 执行`versioninfo()`获取详细运行时信息。 --- ### **9. Julia版本信息** - 示例输出: ``` Julia Version 1.8.2 Commit 36034abf260 (2022-09-29 15:21 UTC) Platform Info: OS: Linux (x86_64-linux-gnu) CPU: 2 × Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-13.0.1 (ORCJIT, skylake-avx512) Threads: 1 on 2 virtual cores ``` --- 以上是《Julia 1.8.2 Documentation》的核心内容总结,涵盖了文档访问、编写、调试工具、REPL功能、I/O操作、子模块功能及版本信息等内容。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 1556 页请下载阅读 -
文档评分
请文明评论,理性发言.