当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

Klib

C 通用库
授权协议 MIT
开发语言 C/C++
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 不详
投 递 者 田德运
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Klib 是一个 C 通用库,是一个轻量级和独立的 Glib 版本。

包括如下常用组件:

示例代码:

#include "khash.h"
KHASH_MAP_INIT_INT(m32, char)        // instantiate structs and methods
int main() {
    int ret, is_missing;
    khint_t k;
    khash_t(m32) *h = kh_init(m32);  // allocate a hash table
    k = kh_put(m32, h, 5, &ret);     // insert a key to the hash table
    if (!ret) kh_del(m32, h, k);
    kh_value(h, k) = 10;             // set the value
    k = kh_get(m32, h, 10);          // query the hash table
    is_missing = (k == kh_end(h));   // test if the key is present
    k = kh_get(m32, h, 5);
    kh_del(m32, h, k);               // remove a key-value pair
    for (k = kh_begin(h); k != kh_end(h); ++k)  // traverse
        if (kh_exist(h, k))          // test if a bucket contains data
            kh_value(h, k) = 1;
    kh_destroy(m32, h);              // deallocate the hash table
    return 0;
}
  • 使用klib的kseq.h进行缓冲的行读取,http://attractivechaos.github.io/klib/#Kseq%3A%20stream%20buffer%20and%20FASTA%2FQ%20parser 给的使用案例为 #include <zlib.h> #include <stdio.h> #include <stdlib.h> #include "kseq.h" KST

  • samtools,bwa等软件都会涉及到这个库,在项目中也比较方便加入这个库。 来自:https://github.com/attractivechaos/klib 简介 Klib是C语言写成的,独立,轻量级,并且遵循MIT/X11声明。其中的大部分只是用到了C标准库,相互之间也是独立的。如果使用这个库中的一部分,只需要将使用到的文件拷贝到你自己的项目中即可,而不用担心库的依赖关系。 Klib致力

  • 对于Python和R而言,使用一个已有的工具,通常都是先安装,然后看帮助文档学会怎么调用函数。那么对于C语言来说,我应该如何使用一个已有的轮子呢? 前些日子,我翻译了李恒大神一篇关于seqtk代码介绍的博客,让我决定以seqtk为切入点,介绍下如何用别人造好的轮子。seqtk主要用到了两个头文件, khash.h和kseq.h, 同时我发现这两个文件在klib中,而klib提供了较为详细的介绍文档

  • klib提供的khash.h的初始化方法分为两种数据结构,分别是SET和MAP。SET只有键,且键唯一,MAP有键和值,键唯一,而值不唯一。 SET和MAP分别有三种初始化方法,对应键的类型分别为INT,INT64和STR,而哈希算法也分为数值和字符串两类 //SET #define KHASH_SET_INIT_INT(name)

  • Klib 从 Amazon 导入标注,逆向了官方的一些接口。可最近,官方的接口有变化,导致 Klib 导入失败。 今天紧急救火,终于还是解决了。其实还是挺麻烦的: 逆向本身有些麻烦,要用抓包工具、看 html/js 等源文件等方式,甚至还要加上猜测与运气的成分,才能跑通。 更关键的,这样只能覆盖自己本身的情况。而用户的数据不同,程序流程上可能会进入不同的分支;很可能逆向时并未覆盖这一分支,就会导致

  • 技术方案选型是件很有意思的事,各个环节都有各种选择,可以组合出各种可能。在这些可能性中,挑选出最佳方案,是我很喜欢做的事。 最近刚刚完成 Klib 的标注分享,趁着热乎劲,小结一下:过程中纠结了哪些方案,以后最后选择了什么。 0) 先来看看最终效果 这就是 Klib 分享标注的操作流程:点击分享,立即得到可以全球访问的网页。操作不能更简单,背后的技术逻辑却很复杂: 实际的开发是混在一起的、思路也是

  • 想当初,Klib 这个产品是在去年元旦时启动的。起初只想做个小 Demo 即可,没想到用了近半年的时间,一版一版地改进。一晃一年过去了,现在又开始出新版,感觉有点奇妙。 今天主要改进了从 Kindle 设备中导入标注的问题: 加速导入 优化排重算法 一些细节改进 其中,技术上有一点:计算两个字符串的最大公共字符串。我没有直接研究算法,直接找的网上现成的方法。可惜的是,性能非常差。后来,考虑到 Ki

  • 时间真快,距离 Klib 上次发布已经快半年了。这段时间忙着 iPaste、iText 等其他产品,倒是把 Klib 给耽搁了,抱歉抱歉。 不过,好饭不怕晚; 这不,新版 Klib 来啦 ? Klib 学了新本领:从「多看」导入笔记 这位说:咦,之前 Klib 不就可以从多看导入了吗?别急,此「多看」非彼「多看」 之前,Klib 支持从「刷了多看系统的 Kindle」中导入笔记,这一方式有诸多限制

  • 之前,Klib 已经支持从刷了多看系统的 Kindle 中导入标注。这次更进一步,是直接从多看系统中导入。比如,你在 iPhone 的多看中所作的标注,Klib 也能直接导入。 预计该版本月底前上架。抢先体验:s.toolinbox.net/Klib/d/

 相关资料
  • 通用通知消息 消息体 ChannelMessage 例子 Swift: NotificationCenter.rokidsdk.addObserver(self, selector: #selector(handleChannelMsgsNotification(_:)), name: NSNotification.Name(rawValue: SDKNotificationName.Channe

  • 类属性 $state state值,调用getAuthUrl方法后可以获取到 $scope 授权权限列表 $result 接口调用结果 $accessToken AccessToken,调用相应方法后可以获取到 $openid openid,调用相应方法后可以获取到

  • 要给本书的这一部分起一个合适的名字并不容易。本书的结构是围绕各个不同领域(如容器和高级编程),那些名字都好取;除了这一部分,它包括一些我们经常用到的东西:智能指针、类型转换工具等等。 总不能一开始第一部分就叫Miscellaneous, 或者 Ubiquitous, 或者 Frequently Used Libraries. 虽然它们的确就是这些东西,但这些名字并不能真正表达它们的重要性。因此,我

  • 问题内容: 我想在我的api中提供以下内容: 所以我这样写: 但是java无法解决。 随着代替它的工作原理,但第二个实际上是多余的“事业AbtractThing已定义的类型。所以我喜欢摆脱它。 问题答案: 你不能摆脱它。第二个不是多余的。您希望编译器将第一个解释为类型参数,但事实并非如此。您也可以这样写: 请注意,在这种情况下,它是一个具体的类,而不是类型参数。将此与以下内容进行比较: 请注意,它

  • 以下是各个选项的中文翻译: 在启动时: 创建新文档 新建组合 新建的组合允许深度点击 如果启用了深度点击,你就可以在画布中直接选中组合内的对象,而不需要先进入组合。如果关闭此选项,你仍然可以通过按住Cmd键来进行深度点击。 撤销 将类似的操作组合在一起 一次撤销将同时撤销短时间内连续进行的类似操作。 字体渲染 对字体进行子像素反锯齿 允许子像素反锯齿,可以精确获得在Mac上字体渲染效果。iOS设备

  • 以下是我的模型:- 我的存储库和服务:- 控制器:- org.springframework.beans.factory.beanCreationException:创建类路径资源[org/springframework/boot/autocconfigure/orm/jpa/hibernatejpaconfiguration.class]中定义的名为“Entity ManagerFactory”

  • application提供了千牛移动提供的原生能力,比如打开聊天窗口(openChat)、获取地址位置(location)和打开网址(openWebsite)等,点击查看api列表和具体用法 打开“千牛欢迎页” QN.application.invoke({ api: 'openPlugin', query: { appkey: 23093073 }, settings:

  • 有人能告诉我用两种不同的方法调用同一个函数的区别,以及编译器在这两种情况下到底做了什么;比如: