# third_party_ncurses **Repository Path**: sig-ci-test/third_party_ncurses ## Basic Information - **Project Name**: third_party_ncurses - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 10 - **Created**: 2023-06-25 - **Last Updated**: 2023-06-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ncurses - [简介](#section11660541593) - [目录结构](#section367519246426) - [编译构建](#section137768191623) - [许可证](#section126611612164217) ## 简介 ncurses是一个编写文本界面(TUI)的接口库。是一个用于控制终端屏幕输出和输入的库,可以用于创建交互式的命令行界面,它提供了一系列函数来控制终端的光标位置、颜色、文本输出等。使用 ncurses 库需要先初始化,然后使用各种函数来控制终端的输出和输入。它的主要接口和功能包括 - initscr(): 初始化curses模式,返回一个指向标准屏幕指针。 - endwin(): 退出curses模式,恢复终端的正常状态。 - addch(): 在当前光标位置添加一个字符,并更新光标位置。 - addstr():在当前光标位置添加一个字符串,并更新光标位置。 - getch(): 从键盘获取一个字符,并返回其ASCII码或键值。 - move(): 移动光标到指定的行和列位置。 - refresh(): 将虚拟屏幕上的内容复制到物理屏幕上,并刷新显示。 - clear(): 清除虚拟屏幕上的内容,并将光标移动到左上角。 在Openharonmy引入后,在lldb构建中开启编译可选依赖选项LLDB_ENABLE_CURSES,lldb.so会依赖ncurses编译生成的动态库ncurses.so,最终实现lldb调试器命令行调试时自动补齐和gui功能。 ## 目录结构 ``` - COPYING 版权文件 - OAT.xml OAT.xml过滤配置文件 - README.OpenSource 项目README.OpenSource文件 - README.md 英文说明 - README_zh.md 中文说明 - backport-CVE-2022-29458.patch CVE修复补丁 - ncurses-6.3.tar.gz ncurses6.3源码压缩tar包 - ncurses-xxx.patch 上游更新补丁列表 - ncurses.spec 上游更新记录说明 - ncurses.yaml yaml文件 ``` ## 编译与安装 ### 单项目模式运行 ``` - ./configure:用于配置软件的脚本,会根据系统环境检测和设置一些变量,生成对应的Makefile和一些头文件。其中运行configure脚本的时候指定一些参数来改变配置选项,如--prefix指定安装目录,--libdir指定库文件目录,--bindir指定可执行文件目录。 - make: 用于安装ncurses软件,根据Makefile中的规则执行一系列的操作,编译源代码,运行测试,检查外部依赖等。 - make install: 将编译好的ncurses.so文件安装到配置时指定的目录中。 ``` ## ncurses使用文档 官方文档 https://invisible-island.net/ncurses/ncurses.html ## 许可证 本项目遵从MIT许可证。