gpt4 book ai didi

c - 什么是 'thunk' ? (在可重入排序函数的上下文中,例如 : qsort_r)

转载 作者:行者123 更新时间:2023-12-01 12:34:45 24 4
gpt4 key购买 nike

已经查过What is a 'thunk'? , 我仍然不确定为什么传递给重入 qsort_r 的额外参数会被称为 thunk

例如:(BSD风格qsort_r)

void qsort_r(void *base_, size_t nmemb, size_t size, void *thunk,
int (*compar)(void *, const void *, const void *));

明确地说,我知道参数的用途以及如何使用它,只是不知道为什么它被称为 thunk(至少在 BSD 的 qsort_r 中)。

最佳答案

名字好像来自original proposed implementation通过 Diomidis Spinellis

implementation显示它只是用作不透明数据 block ,通过 qsort_r 并返回到您的比较函数。

它似乎有点符合 this answer 中的第三个概念。 .

a mapping of machine data from one system-specific form to another, usually for compatibility reasons

但实际上,这似乎只是一个误导性的名称。我通常认为 thunk 包含代码块。在这种情况下,它只是上下文的容器。

关于c - 什么是 'thunk' ? (在可重入排序函数的上下文中,例如 : qsort_r),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30784983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com