|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
, E; H9 X7 p0 b! ~5 H3 v$ q0 D, y' g5 M' p: f9 R! P
$ y8 D$ |/ T$ y$ A1 T/ f, x; }& u: {NX二次开发源码分享:封装一个函数--将ufun的链表转化成数组
+ T$ i! w" r5 t \7 ]& K
- V9 @ l' z; H1 n7 J$ u! p5 H2 e7 C4 P
static int allocate_memory(unsigned int nbytes, void **where)' {8 K. K* {3 |$ a) F4 S
{
- B& s8 B Y. N6 K4 I int
* ]# y5 e3 d: }9 _* L resp;5 i; [5 b' c h. s& s( @- l) H
! g9 n5 T, ^0 y# G# x0 J6 b
*where = UF_allocate_memory(nbytes, &resp);, ~0 |. d5 ]+ B2 N* X+ e H
4 B+ @ X/ i4 s$ d9 P& ` return resp;" x0 X) d1 x5 y" ]6 }% ~ p
}( `4 E- N' f3 u5 j) l' J) d' ?9 L
R9 `2 X% o+ O- _8 \8 o3 Kstatic int make_an_array(uf_list_p_t *object_list, tag_t **objects)1 V5 P o# |& z, \1 {* h- U
{
3 e% [3 T4 L4 B* }1 ]+ | int
# q6 a* s* ], v ?2 ~ ii,
' U3 L" L2 O5 \* s }7 I6 h n;. Q) t! z+ r l& C
uf_list_p_t& o; v9 ]- `& s: ~* N; Q+ [
temp;1 g. H6 X! a+ b& j4 m5 ?
! S1 [7 w2 c. w: A3 ?7 v) W! l- C
UF_CALL(UF_MODL_ask_list_count(*object_list, &n));
: b: Q2 b1 s- H. }# w. M
$ r+ v; n/ P9 w. P- E' P UF_CALL(allocate_memory(n * sizeof(tag_t), (void **)objects));
7 Y; m& w1 a$ C3 o" q
' t6 e) S' P$ Q for (ii = 0, temp = *object_list; ii < n; temp = temp->next, ii++)1 k9 n1 x+ b! B5 a) G
(*objects)[ii] = temp->eid;
; z7 k5 b" X# V; k# [$ e v+ s8 a
. T6 V6 z: i9 c5 M# @0 r+ Z UF_CALL(UF_MODL_delete_list(object_list));
# L4 ~! r; \! B+ c9 f/ [- j' P6 q9 N) w- ^4 X# M
return n;
. r- ~3 L& `# q* {- G7 v' f# m}: f M; A3 M: ^/ b' k
! b5 U6 p/ U# ^! q* W. {- V' z; y9 E, j2 ]
|
|