- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
正如在 issue#2217 中所写的那样,我想设计一个函数,它在第一个输出参数中返回一个 oid 列表。
我应该:
int git_commit_tree_last_commit_id(git_oid **out, git_repository *repo, const git_commit *commit, char *path)
int git_commit_tree_last_commit_id(git_oid_xx_struct *out, git_repository *repo, const git_commit *commit, char *path)
你有什么建议?
最佳答案
问题是,你怎么知道返回的数组中有多少个OID,底层内存又是谁分配的。
对于第一部分有几种可能性,
git_strarray
包含计数和原始数据。对于第二部分,要么
您走哪条路取决于您希望代码看起来像什么、您希望它被重用多少、性能有多关键等。
首先我会选择最简单的,IMO 函数返回计数并分配内存。
这意味着我的函数必须如下所示:
int get_some_oids_in_an_array(OID** array, int * count, ... ) {
...
*count = number_of_oids;
*array = (OID*)malloc( sizeof(OID)*number_of_oids);
for(i=0; i<number_of_oids; ++i) {
*array[i]=...;
}
...
return 0;
}
/* Example of usage */
void use_get_oids() {
OID* oids;
int n_oids;
int ok = get_some_oids_in_an_array(&oids, &n_oids, ...);
for(i=0; i<n_oids; ++i ) {
... use oids[i] ...
}
free(oids);
}
注意:我返回的是一个 OID 数组,而不是一个 OID* 数组,这两个都是有效的选项,并且最适合您的选项会有所不同。
如果事实证明我经常使用这种模式,那么会考虑切换到结构路由。
int get_some_oids( oidarray * oids, ... ) {
int i;
oidarray_ensure_size(number_of_oids);
for(i=0; i<number_of_oids; ++i) {
oidarray_set_value(i, ...);
}
return 0;
}
typedef struct oidarray {
size_t count;
OID* oids;
};
/* Example of usage */
void use_get_oids() {
oid_array oids = {0};
get_some_oids(&oids);
for(i=0; i<oids.count; ++i) {
... use oids.oids[i] ...
}
oidarray_release(&oids);
}
关于c - 如何设计一个返回 oid 数组的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22744207/
我正在发送 SNMP getBulkRequest ,使用基于一些 3rd 方库(如 agent++、snmp++ 等)的专有 SNMP 浏览器,具有多个 OID,例如 .1.3.6.1.2.1.1.
我正在尝试使用两个不同的上下文名称来实现一个 snmp 代理。我得到了一些示例程序。这是我的代理端代码的样子。我从 snmplabs.com 得到的.我试图实现它,但在执行 snmpwalk 时遇到了
我尝试创建自定义 SNMP oid(和脚本)。 我将以下行添加到 snmpd.conf(并重新启动服务): pass .1.3.6.1.3.2 /bin/myscript.sh . cat myscr
我正在编写一个脚本,该脚本将监视来自 nagios 的特定主机上的流量。我已经研究了一些已经制作的脚本并收集了几乎所有我需要做的信息但是我在识别流量所需的 OID 时遇到了问题。我想使用 IF-MIB
我正在寻找有关 SNMP IOD 返回值的文档。例如,MIB IBM-SYSTEM-HEALTH-MIB 1.3.6.1.4.1.2.6.159.1.1.30 ,它提供有关温度、电压和风扇状态的信息。
我正在寻找有关 SNMP IOD 返回值的文档。例如,MIB IBM-SYSTEM-HEALTH-MIB 1.3.6.1.4.1.2.6.159.1.1.30 ,它提供有关温度、电压和风扇状态的信息。
在 PL/pgSQL 中,我有一个可能包含也可能不包含 oid 的列。我需要检测它是否存在。 目前我是这样做的: select oidtext from t into x where name =
我已经编写了一个扩展 netsnmp 的自定义 SNMPV2C 代理(agentx 协议(protocol)),截至目前,我允许对 snmpd.conf 中的所有内容进行查看访问,如下所示 view
我正在使用以下 URL 尝试登录我的 Azure ad B2C 帐户: https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize
这个问题已经有答案了: How to find counters of printers through SNMP (1 个回答) 已关闭 9 年前。 我目前正在开发一个应用程序,该应用程序涉及通过
我正在尝试让 mongodb 查询正常工作。集合的格式如下: { "_id": { "$oid": "54651022bffebc03098b4567" }, "browser": "ie",
您能描述一下包含 OID 的利弊吗? (通常是数据库行标识符)在 POJO 中在你的模型中代表一个实体? 事实上,我不是在谈论与 equals/hashcode 等相关的问题,我应该更好地描述我的问题
我有一个奇怪的案例,我不知道它是怎么发生的。 这是我的 table : id date amount 其中 id 不能为 NULL 并且会自动增加。 去年有人系统造成如下情况: OID
是否可以从我知道其 OID 的表中进行选择?有点像 select * from 123456::regclass 我知道我可以通过构造一个动态查询在一个函数中完成它,但我不能直接这样做似乎很奇怪——我
我对 PostgreSQL 的表 oid 有疑问。我创建一个表。 oid 为 24622 (-rw-------- 1 postgres postgres 8192 11 月 29 日 17:45 2
是否可以使用 oid 数据类型作为主键? CREATE TABLE "Test" ( id oid NOT NULL DEFAULT nextval('"Test_id_seq"'::regcla
我想检查 PostgreSQL 中 OID 对象的实际大小。在 PgAdmin 中我只能看到数字。如何显示实际尺寸? 最佳答案 尝试 select octet_length(lo_get(file))
正如在 issue#2217 中所写的那样,我想设计一个函数,它在第一个输出参数中返回一个 oid 列表。 我应该: 将 oid 列表作为指向指针的指针返回? int git_commit_tree_
我找到了一个很棒的 SSL 库,它很容易理解(对我来说),更重要的是,它很容易拆开,以便获得我想使用的加密原语。 但是有一件事我不明白: //HMAC with SHA-256 OID (1.2.84
我正在编写 Python 代码,其中用户以下列任何形式输入 SNMP OID: 1.3.6.1.2.1.90.1.2 internet.2.1.90.1.2 我希望我的代码将 internet 解析为
我是一名优秀的程序员,十分优秀!