# symbol-database **Repository Path**: Dreamlove/symbol-database ## Basic Information - **Project Name**: symbol-database - **Description**: doc/ReadMe.txt - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2015-09-20 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 1; 介绍说明 * 符号数据库;类似 man 手册一样,记录了符号的使用方法.与 man 手册不同的是: o 可以增加符号.并且支持多种程序语言;当前实现中支持 C,C++;增加新的程序语言只需要 参照 c-sym-name-table.cc,cpp-sym-name-table.cc 实现相应的接口即可. 2; 编译安装: $ make $ sudo make install 3; 使用: $ sym -h $ symdb -h 4; 案例 $ cat readlink-doc.txt #include /** * 读取 pathname 指定的符号链接文件的文件内容,并存入 buf 指向的缓冲区中. * 注: readlink() 并不会追加末尾'\0'. * @return 实际存入 buf 缓冲区的字节数. */ ssize_t readlink(const char *pathname, char *buf, size_t bufsiz); $ sym add -LC -m'@readlink-doc.txt' readlink # 将符号 readlink 加到数据库中. $ cat readlink-cpp-doc.txt #include "filepath-util.h" // 读取 path 指定的符号链接文件的文件内容,并返回该内容.若读取出错,则抛出异常. std::string PathUtil::readlink(const char *path); $ sym add -LC++ -m'@readlink-cpp-doc.txt' PathUtil::readlink ERROR;CPP-LANGUAGE.add: PathUtil::readlink 不是完全限定的!为了避免二义性,符号名应该总以'::'开始! $ sym add -LC++ -m'@readlink-cpp-doc.txt' ::PathUtil::readlink $ sym readlink # 查找数据库中 readlink 的定义. C++;::PathUtil::readlink;#include "filepath-util.h" # 在 C++ 语言中找到了一个定义. C;readlink;#include # 在 C 语言中找到了一个定义. $ sym readlink -F # 以完整格式显示查找结果. ::PathUtil::readlink (C++) #include "filepath-util.h" // 读取 path 指定的符号链接文件的文件内容,并返回该内容.若读取出错,则抛出异常. std::string PathUtil::readlink(const char *path); readlink (C) # 或许这里应该加个分割之类的... #include /** * 读取 pathname 指定的符号链接文件的文件内容,并存入 buf 指向的缓冲区中. * 注: readlink() 并不会追加末尾'\0'. * @return 实际存入 buf 缓冲区的字节数. */ ssize_t readlink(const char *pathname, char *buf, size_t bufsiz); $ sym readlink -LC++ # 只在 C++ 中查找符号定义,由于只有一条结果,所以直接以完整格式输出结果. ::PathUtil::readlink #include "filepath-util.h" // 读取 path 指定的符号链接文件的文件内容,并返回该内容.若读取出错,则抛出异常. std::string PathUtil::readlink(const char *path); $ sym readlink -LC # 只在 C 中查找符号定义. readlink #include /** * 读取 pathname 指定的符号链接文件的文件内容,并存入 buf 指向的缓冲区中. * 注: readlink() 并不会追加末尾'\0'. * @return 实际存入 buf 缓冲区的字节数. */ ssize_t readlink(const char *pathname, char *buf, size_t bufsiz)