加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 教程 > 正文

Linux动态库编译和使用详细介绍

发布时间:2021-12-10 17:55:13 所属栏目:教程 来源:互联网
导读:heoo.h #ifndef _H_HEOO #define _H_HEOO /* * 测试接口,得到key内容 * : 返回key的字符串 */ extern const char* getkey(void); /* * 测试接口,得到value内容 * arg : 传入的参数 * : 返回得到的结果 */ extern void* getvalue(void* arg); #endif // !_H_HE
heoo.h
 
#ifndef _H_HEOO
#define _H_HEOO
 
/*
 * 测试接口,得到key内容
 *      : 返回key的字符串
 */
extern const char* getkey(void);
 
/*
 * 测试接口,得到value内容
 * arg      : 传入的参数
 *          : 返回得到的结果
 */
extern void* getvalue(void* arg);
 
#endif // !_H_HEOO
 
heoo-getkey.c
 
#include "heoo.h"
 
/*
 * 测试接口,得到key内容
 *      : 返回key的字符串
 */
const char*
getkey(void) {
    return "heoo-getkey.c getkey";
}
 
heoo-getvalue.c
 
#include "heoo.h"
#include <stdio.h>
 
/*
 * 测试接口,得到value内容
 * arg      : 传入的参数
 *          : 返回得到的结果
 */
const void*
getvalue(void* arg) {
    const char* key = "heoo-getvalue.c getvalue";
    printf("%s - %sn", key, (void*)arg);
    return key;
}
 
heoo.c
 
#include "heoo.h"
#include <stdio.h>
 
/*
 * 测试接口,得到key内容
 *      : 返回key的字符串
 */
const char*
getkey(void) {
    return "heoo.c getkey";
}
 
/*
 * 测试接口,得到value内容
 * arg      : 传入的参数
 *          : 返回得到的结果
 */
const void*
getvalue(void* arg) {
    const char* key = "heoo.c getvalue";
    printf("%s - %sn", key, (char*)arg);
    return key;
}
 
main.c
 
#include <stdio.h>
#include "heoo.h"
 
// 测试逻辑主函数
int main(int argc, char* argv[]) {
    // 简单的打印数据
    printf("getkey => %sn", getkey());
    getvalue(NULL);
    return 0;
}
 
到这里也许感觉有点臃肿, 但是理解为什么是必要的. 会让你对于动态库高度高上0.01毫米的.哈哈.
 
先让上面代码跑起来.
 
gcc -g -Wall -o main.out main.c heoo.c

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读