api接口相关

来源:互联网 发布:下一代网络结构和特点 编辑:程序博客网 时间:2024/06/06 18:08

  • api头文件应不包含任何其他的头文件
  • 在这里先直接线上代码了,

    #ifndef LMTRAIN_API_H#define LMTRAIN_API_H/* * 这里不能包含任何其他的类文件,头文件需要尽量的简单, * 记住别人不用关心你是怎么实现的#include "class_a.h"#include "class_b.h"*/#ifdef __cplusplusextern "C" {  //这里的注释,会遇到交叉编译的问题,在这里可以连接C的库函数#endif/** * init * input : conf conf_file */void *api_init_txl_lmtrain_conf(char *conf, char *conf_file);/** * init * input : lexicon */void *api_init_txl_lmtrain(char *lexicon);/** * unit * txllmtrain_res : lmtrain resource */int api_unit_txl_lmtrain(void *txllmtrain_res);/** * id_corpus : id string * model : memory allocated outside, same to release * len : reference to the_len_of_model * txllmtrain_res : lmtrain resource */int api_get_model_txl_lmtrain(void *txllmtrain_res, char *id_corpus, char *model, int &len);#ifdef __cplusplus};#endif#endif  // LMTRAIN_API_H

    上面的注释里面大致说了一下,基本能看出一些了。

  • api 头文件的使用,用 void*
  • void *ptxl = api_init_txl_lmtrain(argv[1]);/* * 这里可以直接用void * 来申明变量,使用的时候应尽量的简单,不需要知道类型 */

    注意看文件里面的注释

  • 涉及问题库的编译与使用
  • 这里需要结合上一篇文章来理解,编译链接库与api头文件

    0 0