首页 > 其他分享 >统信UOS系统应用开发

统信UOS系统应用开发

时间:2024-11-10 23:17:58浏览次数:3  
标签:UOS int 句柄 memfd 内存 应用 动态链接库 include 统信

包括cpu 、内存 、安全等接口描述。

文章目录

在这里插入图片描述
在这里插入图片描述


一、内存管理

非文件形式的内存动态函数库调用接口

使用memfd的系统调用接口将动态库加载到proc虚拟文件系统,提供的fd为进程持有的句柄,通过dlopen的path指向此句柄,即可实现非文件系统加载动态链接库。

memfd_create

接口名称 int memfd_create(const char *name, unsigned int flags, unsigned int mode)
场景描述 memfd_create() 函数用于创建一个内存文件描述符,该文件描述符指向一个内存区域。
输入参数 name :内存区域的名称。如果为空字符串,则内存区域将没有名称。flags :内存区域的标志。 MEMFD_CLOEXEC :在文件描述符关闭时,该内存区域也会被自动释放。 MEMFD_ALLOW_SEALING :允许将内存区域密封。mode :内存区域的权限。
输出参数 函数返回一个文件描述符,该文件描述符指向内存区域。如果创建内存区域失败,则返回 -1 ,并设置 errno 为错误码。
备注 如果 flags 参数设置为 MEMFD_CLOEXEC ,则在文件描述符关闭时,该内存区域也会被自动释放。

dl_open
dl_open() 函数用于打开一个动态链接库。它返回一个指向动态链接库句柄的指针,该句柄可以用于访问动态链接库中的符号。

接口名称 void *dl_open(const char *filename, int mode)
场景描述 dl_open() 函数用于打开一个动态链接库。它返回一个指向动态链接库句柄的指针,该句柄可以用于访问动态链接库中的符号。
输入参数 filename :动态链接库的文件名。mode :动态链接库的打开模式。RTLD_LAZY :延迟解析动态链接库中的符号。 RTLD_NOW :立即解析动态链接库中的符号。 RTLD_GLOBAL :将动态链接库中的符号导出到全局符号表中。RTLD_LOCAL :将动态链接库中的符号导出到局部符号表中。
输出参数 函数返回一个指向动态链接库句柄的指针,该句柄可以用于访问动态链接库中的符号。如果打开动态链接库失败,则返回 NULL 。
备注

示例参考

#define _GNU_SOURCE


#include <curl/curl.h>
#include <dlfcn.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/mman.h>
#include <sys/syscall.h>
#include <sys/utsname.h>
#include <unistd.h>
#include <sys/mman.h>
#include <sys/stat.h>        /* For mode constants */
#include <fcntl.h>           /* For O_* constants */
#include <errno.h>



#define SHM_NAME "IceIceBaby"

// Wrapper to call memfd_create syscall
inline int memfd_create(const char *name, unsigned int flags) {
   
    return syscall(__NR_memfd_create, name, flags);
}

// Returns a file descriptor where we can write our shared object
int open_ramfs(void) {
   
    int shm_fd;

    shm_fd = memfd_create(SHM_NAME, 1);
    if (shm_fd < 0) {
    //Something went wrong :(
        fprintf(stderr, "[- Could not open file descriptor\n");
        exit(-1);
    }
    return shm_fd;
}

// Callback to write the shared object
size_t write_data (void *ptr, size_t size, size_t nmemb, int shm_fd

标签:UOS,int,句柄,memfd,内存,应用,动态链接库,include,统信
From: https://blog.csdn.net/hidescold/article/details/143478742

相关文章

  • 产品手册工具在实验室仪器行业的应用
    大家好,这里是ai元启航,最近在学习ai知识,今天分享的是有关产品手册工具在实验室仪器行业的应用,我们知道,实验室仪器行业作为高新技术领域的重要组成部分,其产品手册的详尽程度与易用性对于用户的使用体验与满意度具有重要影响。为了提升产品手册的实用性与便捷性,越来越多的实验室仪器......
  • 大模型携手AI原生应用融入全产业场景
    前言10月17日,百度世界2023在北京首钢园召开。百度集团执行副总裁、百度智能云事业群总裁沈抖宣布,对“云智一体”的战略内涵全面升级,即云智一体,深入产业,生态繁荣,AI普惠。重磅发布“千帆AI原生应用开发工作台”,加速企业AI原生应用落地;发布了国内首个AI原生应用商店;面向企业落......
  • Nuxt.js 应用中的 schema:extend事件钩子详解
    title:Nuxt.js应用中的schema:extend事件钩子详解date:2024/11/10updated:2024/11/10author:cmdragonexcerpt:schema:extend钩子使开发者能够扩展默认数据模式,为特定业务需求添加自定义字段和验证。categories:前端开发tags:Nuxt钩子数据扩展自定......
  • Nuxt.js 应用中的 listen 事件钩子详解
    title:Nuxt.js应用中的listen事件钩子详解date:2024/11/9updated:2024/11/9author:cmdragonexcerpt:它为开发者提供了一个自由的空间可以在开发服务器启动时插入自定义逻辑。通过合理利用这个钩子,开发者能够提升代码的可维护性和调试能力。注意处理性能、错......
  • 第 5 章:格式化输出-Claude应用开发教程
    更多教程,请访问:Claude开发应用教程设置运行以下设置单元以加载您的API密钥并建立get_completion辅助函数。!pipinstallanthropic#Importpython'sbuilt-inregularexpressionlibraryimportreimportanthropic#RetrievetheAPI_KEY&MODEL_NAMEvaria......
  • Nuxt.js 应用中的 prepare:types 事件钩子详解
    title:Nuxt.js应用中的prepare:types事件钩子详解date:2024/11/8updated:2024/11/8author:cmdragonexcerpt:prepare:types钩子为Nuxt.js开发者提供了灵活定制TypeScript配置和声明的能力。通过使用此钩子,开发者能够确保TypeScript配置和类型声明能够满......
  • Nuxt.js 应用中的 schema:extend事件钩子详解
    title:Nuxt.js应用中的schema:extend事件钩子详解date:2024/11/10updated:2024/11/10author:cmdragonexcerpt:schema:extend钩子使开发者能够扩展默认数据模式,为特定业务需求添加自定义字段和验证。categories:前端开发tags:Nuxt钩子数据扩展自定义验证......
  • 实验4 C语言数组应用编程
    实验任务1:task1.c源代码:1#include<stdio.h>2#defineN43#defineM245voidtest1(){6intx[N]={1,9,8,4};7inti;89printf("sizeof(x)=%d\n",sizeof(x));1011for(i=0;i<N;++i)......
  • 实验4 c语言数组应用编程
    task1:1#include<stdio.h>2#include<stdlib.h>3#defineN44#defineM2567voidtest1(){8intx[N]={1,9,8,4};9inti;1011printf("sizeof(x)=%d\n",sizeof(x));1213for(i=0;i<N;++i)14......
  • 剪枝技术在图神经网络中的创新应用
    图神经网络,剪枝技术,模型压缩,效率优化,性能提升1.背景介绍图神经网络(GraphNeuralNetworks,GNNs)作为一种强大的机器学习模型,在处理图结构数据方面展现出非凡的潜力。近年来,GNNs在社交网络分析、推荐系统、药物发现等领域取得了显著的成果。然而,随着模型复杂度的增......