|
这是我在win10下用gcc将一个动态分配空间拷贝给一个全局数组时发现的问题.
使用block主要是为了避开作用域, 说不定以后会做成宏, 上下文倒是没有控制流代码.
struct T{
struct A{
int type, offset; char name[init_name_len];
} *attrs;
void *loc_spz;
int attr_amt,attr_len,amt,tup_siz,loc_len;
char name[init_name_len];
};
//typedef ...
A ta_arr [50];
T t;
...
{for(int i=0;iattr_amt;i++) ta_arr[ta_amt+i] = t->attrs;}
//memcpy(&ta_arr[ta_amt], t->attrs, t->attr_amt);memcpy粘贴完毕以后, 使用时会发现结构体的某个非指针分量(offset)并没有被粘贴过去, 而修改为类似的代码块以后可以正常工作. |
|