Aix Oracle 使用sbttest测试libobk.a(shr.o)出现段错误
操作系统:AIX 7.1
数据库版本: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
操作:使用sbttest 测试libobk.a(shr.o)
现象:两次成功调用sbtinit函数后,出现段错误(同样的代码在linux系统上编译的libobk.so可正常加载使用)

#include <sbt.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
static void _log(const char *msg) {
write(STDERR_FILENO, msg, strlen(msg));
write(STDERR_FILENO, "\n", 1);
}
int sbtopen(sbtctx *ctx, int flags) {
return 0;
}
int sbtclose(sbtctx *ctx, int flags) {
return 0;
}
int sbtread(sbtctx *ctx, void *buf, int *len) {
return 0;
}
int sbtwrite(sbtctx *ctx, void *buf, int *len) {
return 0;
}
int sbtremove(sbtctx *ctx, int flags, const char **files) {
return 0;
}
int sbtinfo(struct sbtctx *ctx, int flags, const char **files, struct sbtinfo_t **output) {
_log("sbtinfo");
static struct sbtinfo_t info[2];
info[0].type = SBTINFO_END;
info[0].value = NULL;
*output = info;
return 0;
}
int sbtinit2(sbtctx *ctx, int flags, const struct sbtinfo_t *args) { _log("sbtinit2"); return 0; }
int sbtcommand(sbtctx *ctx, int flags, const char *cmd) { _log("sbtcommand"); return 0; }
int sbtbackup(sbtctx *ctx, int flags, const char *fn, const struct sbtinfo_t *info, int bs, int nu, int d) { _log("sbtbackup"); return 0; }
int sbtclose2(sbtctx *ctx, char flags) { _log("sbtclose2"); return 0; }
int sbtend(sbtctx *ctx, char flags) { _log("sbtend"); return 0; }
int sbterror(sbtctx *ctx, int f, int *e, const char **ne, char **ue) { _log("sbterror"); return 0; }
int sbtinfo2(sbtctx *ctx, char f, const char **fs, struct sbtinfo_t **o) { _log("sbtinfo2"); return 0; }
int sbtread2(sbtctx *ctx, int f, void *b) { _log("sbtread2"); return 0; }
int sbtremove2(sbtctx *ctx, int f, const char **fs) { _log("sbtremove2"); return 0; }
int sbtrestore(sbtctx *ctx, int f, char *fn, int bs) { _log("sbtrestore"); return 0; }
int sbtwrite2(sbtctx *ctx, int f, void *b) { _log("sbtwrite2"); return 0; }
int sbtinit(sbtdata *data, const struct sbtinfo_t *input, sbtopt **output) {
_log("sbtinit");
static sbtopt opts[20];
static int sbt2 = 2;
static int api_ver = 0x0200;
static char *vendor = "DemoSBT";
static sbtapi api;
static size_t ctx_size = 8192;
static unsigned int maxsize = 2*1024*1024;
static unsigned int mm_ver = 1;
int i = 0;
memset(&api, 0, sizeof(api));
api.sbtinit2 = sbtinit2;
api.sbtcommand = sbtcommand;
api.sbtbackup = sbtbackup;
api.sbtclose2 = sbtclose2;
api.sbtend = sbtend;
api.sbterror = sbterror;
api.sbtinfo2 = sbtinfo2;
api.sbtread2 = sbtread2;
api.sbtremove2 = sbtremove2;
api.sbtrestore = sbtrestore;
api.sbtwrite2 = sbtwrite2;
opts[i].type = SBTOPT_2; opts[i].value = &sbt2; i++;
opts[i].type = SBTOPT_API_VERSION; opts[i].value = &api_ver; i++;
opts[i].type = SBTOPT_VENDOR; opts[i].value = vendor; i++;
opts[i].type = SBTOPT_API; opts[i].value = &api; i++;
opts[i].type = SBTOPT_CONTEXT_SIZE; opts[i].value = &ctx_size; i++;
opts[i].type = SBTOPT_MAXSIZE; opts[i].value = &maxsize; i++;
opts[i].type = SBTOPT_MM_VERSION; opts[i].value = &mm_ver; i++;
opts[i].type = SBTOPT_END; opts[i].value = NULL;
*output = opts;
data->status = 0;
data->error = 0;
return 0;
}
相关推荐
国央企创新负责人如何通过平台实现科研成果的快速识别与转化?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
PotPlayer自用皮肤
自用 PotPlayer 皮肤,仅微调了字体大小与颜色,是按个人习惯调整,未做适配性调整。
2-shell及常用命令-续.pdf
2-shell及常用命令-续.pdf
【电力负荷预测】项目介绍 MATLAB实现基于BO-Transformer-LSTM贝叶斯优化算法(BO)优化Transformer-LSTM组合模型进行居民用户多步电力负荷预测(含模型描述及部分示例
内容概要:本文介绍了一个基于BO-Transformer-LSTM的组合模型,用于实现居民用户多步电力负荷预测的完整项目实例。该模型融合Transformer的全局注意力机制与LSTM的局部时序记忆能力,构建能够捕捉长时依赖与周期性特征的深度学习架构,并引入贝叶斯优化(BO)自动搜索最优超参数组合,提升预测精度与训练效率。项目涵盖从原始数据清洗、特征工程、滑动窗口样本构建、模型设计到超参数优化、反归一化及多步误差评估的全流程,强调时间顺序划分以防止信息泄露,并通过周期编码、外生变量融合等方式增强数据表达能力。文中提供了详细的MATLAB代码示例,包括数据预处理、网络搭建、贝叶斯优化配置和预测结果评估等关键步骤。 适合人群:具备一定机器学习和时间序列分析基础,熟悉MATLAB编程环境,从事电力系统预测、智能电网、负荷管理等相关领域的研究人员、工程师及研究生。 使用场景及目标:①应用于居民级或多用户聚合负荷的短期至中期多步预测(如未来24小时);②服务于配电系统运行调度、需求响应基线设定、家庭能源管理系统优化、分布式能源协调控制等实际工程场景;③为科研提供可复现的深度学习+贝叶斯优化的技术路线参考。 阅读建议:此资源以实际项目为导向,建议读者结合提供的代码逐步实现并调试模型,重点关注数据质量控制、时间特征编码、组合网络结构设计与贝叶斯优化稳定性之间的协同关系,在实践中深入理解多步预测中的误差累积机制与超参数敏感性问题。
基于MATLAB的太阳能光伏电力仿真,模拟每日太阳能发电,可视化功率曲线,并通过数值积分计算总能量输出。.zip
1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。


