Redian新闻
>
serialization 到底该怎么理解啊?
avatar
serialization 到底该怎么理解啊?# Programming - 葵花宝典
f*y
1
老婆J1来美访学,时长一年半,本人J2考虑回国找工作,希望也弄个访问学者(就是希
望领事馆能开据留学证明),已经联系好导师和接受单位了。目前J1和J2已经来美4个
月,请问这种情况J2(已经有EDA工卡,但是发现不想找工作)还能转为J1吗? 必须
要回国签证吗?
感谢各位大神!
avatar
s*j
2
是不是大家都送I-134表的呀?谢谢!
avatar
q*i
3
去年夏天回国,有幸和中学的部分同学一聚。高中毕业后,就一直无缘和好多同学相见
,想一想,都三十年了,河东河西呀。有几个,高中毕业后,倒见过几次面,但那也都
是二十多年前的事情了。
男同学吗,决大多数还都能叫上名字。只有两个叫不上名字的,但还能想起三十年前他
俩的音容笑貌。当年的中学生,男女同学间基本不交流,所以女同学中的几个,是在大
家一再提醒下,才多少想起来了。唯有一个女同学,名字是相当耳熟,但就是想不起来
三十年前的那个她是什么样子,就是想不起来三十年前的和那个她有瓜葛的任何故事和
场景,当时怎么想也想不起来。
围坐在一起,边吃喝,大家边回忆着三十多年前的有趣故事。谁上着上着课,和老师不
请假,就上厕所。谁在地上走来走去时皮鞋咔咔响。现在聚餐的这个酒店这嘎达,当年
谁就住在这嘎达。谁家和谁家住得最近,竟用一个公共厕所,往一个茅坑拉屎撒尿……
我这个人,越活心眼还越直,再加上都是中学同学,聚会的饭局上,我就把这个遗忘的
真实讲了,当着所有在座的同学,也包括这个女同学。当然,马上遭到大家的攻击,那
个女同学也毫不示弱,把我损得灰溜溜的。但大家最后,还是都以此为例,感慨着岁月
无情,毕竟都三十年了。
其实,没事的时候,我还总是回想回想中学和小学的同学。当然,中学同学,绝大多数
还是印象深刻的,毕竟都是十多岁时在一起的。小学同学吗,大多数,在我脑子里,只
有一个个模模糊糊的童脸了。当时关系特铁的,还能记住名字。很多小学同学的外号,
倒记得很清楚,并且还记得出处。一个同学,鼻子总溜鼻涕,并且都嘎巴在鼻孔下面,
大家就管他叫大鼻嘎。一个同学,一劳动就不来,第二天老师一问,就说在家煮大碴子
粥来着,大家就管她叫大碴子粥。一个同学,说生气就生气,大家就管她叫大门帘子。
一个同学,嘴馋,手不老实,比如,排队去看电影,他会走一道,在路旁的商店的摊床
上偷一道,看电影时,一会从兜里拿个枣吃,一会从兜里拿个柿饼子吃,大家就管他叫
耗子。一个同学,老师一让他站起来发言,就左拧一下,右拧一下,不停地拧来拧去,
大家就叫他曲蛇。一个同学,梳过长长的单个大辫子,大家就叫她蛤蟆骨朵……今生
今世,可能再也见不到这些小学同学了。
怀着对这位女同学的内疚,也是对自己记忆力的一次挑战,这半年多来,没事时,我就
总试着回想,当年的那个她是什么样子?当年的那个她当年有什么故事?上一周的一天
,中午休息,我就又想起了这事,突然间,一个同学的当年的样子就出现在我的脑海里
,我坚定地确认着,这就是当年的那个她。她当年应该是班上最白的,小脑袋,瘦高个
,梳着短短的辫子,我竟能想起她当年总爱穿一件褪了色的粉色趟绒上衣。而现在的她
,和三十年前的差别就大了去了。真的不能怪我的记忆,而是应该怪她的变化的巨大。
想起了她是当年的谁,就了却了一件心事,也增强了对自己记忆力的自信。看来,自己
还没老到不可救药的地步。
avatar
W*o
4
最近可能需要写一个serialization/deserialization的code, 是要把一个C里面的
struct保存信息,然后远程传输,再deserialization,运行。比如我的struct是这样:
typedef struct my_data {
char *data;
int *user_array;
int written_by;
int user_array_size;
} my_data;
上面的user_array这个field是一个动态数组,data这个field要保存大量的字符串。请
教一下,该如何serialize/deserialize? 是不是需要用 fopen, fwrite 之类的把 数
据写到一个file里面,利用指针控制fwrite()的位置?
谢谢指教
avatar
f*y
5
补充下,我也不是想延长在美国的时间,哪怕改成J1后仍按原计划回国也行,这样也够
6个月访学了
avatar
t*s
6
毫无用处。
avatar
G*o
7
你爱上她了

【在 q********i 的大作中提到】
: 去年夏天回国,有幸和中学的部分同学一聚。高中毕业后,就一直无缘和好多同学相见
: ,想一想,都三十年了,河东河西呀。有几个,高中毕业后,倒见过几次面,但那也都
: 是二十多年前的事情了。
: 男同学吗,决大多数还都能叫上名字。只有两个叫不上名字的,但还能想起三十年前他
: 俩的音容笑貌。当年的中学生,男女同学间基本不交流,所以女同学中的几个,是在大
: 家一再提醒下,才多少想起来了。唯有一个女同学,名字是相当耳熟,但就是想不起来
: 三十年前的那个她是什么样子,就是想不起来三十年前的和那个她有瓜葛的任何故事和
: 场景,当时怎么想也想不起来。
: 围坐在一起,边吃喝,大家边回忆着三十多年前的有趣故事。谁上着上着课,和老师不
: 请假,就上厕所。谁在地上走来走去时皮鞋咔咔响。现在聚餐的这个酒店这嘎达,当年

avatar
A*i
8
C来做这个有些蛋疼吧……
这种东西java不是有自带的lib么
avatar
i*t
9
不知道问学校的ISSo?人家最权威
avatar
D*e
10
赞啊!以后要常来发文啊

【在 q********i 的大作中提到】
: 去年夏天回国,有幸和中学的部分同学一聚。高中毕业后,就一直无缘和好多同学相见
: ,想一想,都三十年了,河东河西呀。有几个,高中毕业后,倒见过几次面,但那也都
: 是二十多年前的事情了。
: 男同学吗,决大多数还都能叫上名字。只有两个叫不上名字的,但还能想起三十年前他
: 俩的音容笑貌。当年的中学生,男女同学间基本不交流,所以女同学中的几个,是在大
: 家一再提醒下,才多少想起来了。唯有一个女同学,名字是相当耳熟,但就是想不起来
: 三十年前的那个她是什么样子,就是想不起来三十年前的和那个她有瓜葛的任何故事和
: 场景,当时怎么想也想不起来。
: 围坐在一起,边吃喝,大家边回忆着三十多年前的有趣故事。谁上着上着课,和老师不
: 请假,就上厕所。谁在地上走来走去时皮鞋咔咔响。现在聚餐的这个酒店这嘎达,当年

avatar
W*o
11
必须用c写,作业要求

【在 A*****i 的大作中提到】
: C来做这个有些蛋疼吧……
: 这种东西java不是有自带的lib么

avatar
s*u
12
还能转为J1
you can go to China or Canada to get new visa.
See top 4 post
http://www.mitbbs.com/article_t2/Postdoc/31293389.html

【在 f******y 的大作中提到】
: 老婆J1来美访学,时长一年半,本人J2考虑回国找工作,希望也弄个访问学者(就是希
: 望领事馆能开据留学证明),已经联系好导师和接受单位了。目前J1和J2已经来美4个
: 月,请问这种情况J2(已经有EDA工卡,但是发现不想找工作)还能转为J1吗? 必须
: 要回国签证吗?
: 感谢各位大神!

avatar
N*f
13
这位兄台看来跟俺是一个年龄层的。买买提一众早晨八九点钟的太阳之间,
同龄人难得一见,呵呵。
说起中学同学,至今音容名号还都印象深刻,倒是大学同班有几位当初交
往不多的,如今想到,往往要冥思一时才能记起大名。

【在 q********i 的大作中提到】
: 去年夏天回国,有幸和中学的部分同学一聚。高中毕业后,就一直无缘和好多同学相见
: ,想一想,都三十年了,河东河西呀。有几个,高中毕业后,倒见过几次面,但那也都
: 是二十多年前的事情了。
: 男同学吗,决大多数还都能叫上名字。只有两个叫不上名字的,但还能想起三十年前他
: 俩的音容笑貌。当年的中学生,男女同学间基本不交流,所以女同学中的几个,是在大
: 家一再提醒下,才多少想起来了。唯有一个女同学,名字是相当耳熟,但就是想不起来
: 三十年前的那个她是什么样子,就是想不起来三十年前的和那个她有瓜葛的任何故事和
: 场景,当时怎么想也想不起来。
: 围坐在一起,边吃喝,大家边回忆着三十多年前的有趣故事。谁上着上着课,和老师不
: 请假,就上厕所。谁在地上走来走去时皮鞋咔咔响。现在聚餐的这个酒店这嘎达,当年

avatar
d*r
14
C 就是用来干这个的呀,这个是协议打包的网络程序。
简单说,就是内存或者硬盘其实都是一个长长的一维数组,你要在上面申请一段连续空
间(或者更复杂,一个链表),把你的数据 (e.g. data 指针指向的 buffer 里的数据写
进去)。然后,在接受端,你再按照你存储的格式,把数据导来。
你可以在这个struct后面加一个buffer field,存数据,用 memcpy之类的函数把数据
copy 进去,用一个指针存起始地址, 还有个变量存数据buffer field 的长度。然后用
TCP socket 把整个 struct 传过去。
或者你们要求是把数据存到 file 里面,然后传输 file (e.g. scp?)?

样:

【在 W***o 的大作中提到】
: 最近可能需要写一个serialization/deserialization的code, 是要把一个C里面的
: struct保存信息,然后远程传输,再deserialization,运行。比如我的struct是这样:
: typedef struct my_data {
: char *data;
: int *user_array;
: int written_by;
: int user_array_size;
: } my_data;
: 上面的user_array这个field是一个动态数组,data这个field要保存大量的字符串。请
: 教一下,该如何serialize/deserialize? 是不是需要用 fopen, fwrite 之类的把 数

avatar
f*y
15
感谢,我们现在在这不到6个月,必须得在美国之外签证吗?谢谢
avatar
x*u
16
这种东西最好不要重新发明轮子。

样:

【在 W***o 的大作中提到】
: 最近可能需要写一个serialization/deserialization的code, 是要把一个C里面的
: struct保存信息,然后远程传输,再deserialization,运行。比如我的struct是这样:
: typedef struct my_data {
: char *data;
: int *user_array;
: int written_by;
: int user_array_size;
: } my_data;
: 上面的user_array这个field是一个动态数组,data这个field要保存大量的字符串。请
: 教一下,该如何serialize/deserialize? 是不是需要用 fopen, fwrite 之类的把 数

avatar
s*u
17
必须得在美国之外签证 without J waiver.

【在 f******y 的大作中提到】
: 感谢,我们现在在这不到6个月,必须得在美国之外签证吗?谢谢
avatar
f*3
18
楼主说了是作业

【在 x****u 的大作中提到】
: 这种东西最好不要重新发明轮子。
:
: 样:

avatar
f*y
19
感觉出境再签太麻烦了,真的不可以在境内签证吗?
请问在美国之外签证容易被拒吗?
是否可以在加拿大签呢?
avatar
d*i
20
这个一直以来就是C做的啊,Java自带的lib底层就是C的实现啊。

【在 A*****i 的大作中提到】
: C来做这个有些蛋疼吧……
: 这种东西java不是有自带的lib么

avatar
f*y
21
我们现在的j1和j2签证,去加拿大不用再去加拿大领馆签证了吧?多谢
avatar
g*e
22
[长度][内容][长度][内容]
然后写到文件里,读取的时候同理
avatar
s*u
23
short time is fine, no need to submit I-94 before leave USA
Long time, you need Canada visa.

【在 f******y 的大作中提到】
: 我们现在的j1和j2签证,去加拿大不用再去加拿大领馆签证了吧?多谢
avatar
W*o
24
开始有点眉目了。
用fwrite 写 binary
然后用fread 读,根据数字判断读入的长度,再在memory里复原struct
谢谢指点!

【在 g*********e 的大作中提到】
: [长度][内容][长度][内容]
: 然后写到文件里,读取的时候同理

avatar
f*y
25
再次请教大家,是不是必须在6个月内转? 今天国际学院一个老师说,必须要回国后2
年,j2才可以再次申请J1, 这也太残酷了吧? 另外感觉这个老师很年青,也不确定
他就是权威的。
谢谢!
avatar
W*o
26
谢谢指点




【在 d*******r 的大作中提到】
: C 就是用来干这个的呀,这个是协议打包的网络程序。
: 简单说,就是内存或者硬盘其实都是一个长长的一维数组,你要在上面申请一段连续空
: 间(或者更复杂,一个链表),把你的数据 (e.g. data 指针指向的 buffer 里的数据写
: 进去)。然后,在接受端,你再按照你存储的格式,把数据导来。
: 你可以在这个struct后面加一个buffer field,存数据,用 memcpy之类的函数把数据
: copy 进去,用一个指针存起始地址, 还有个变量存数据buffer field 的长度。然后用
: TCP socket 把整个 struct 传过去。
: 或者你们要求是把数据存到 file 里面,然后传输 file (e.g. scp?)?
:
: 样:

avatar
f*y
27
继续求助
avatar
d*i
28
有一点注意的是:要注意endianness和compiler padding,这个会导致在不同的
architecture上字节大小和顺序的不同。

【在 W***o 的大作中提到】
: 开始有点眉目了。
: 用fwrite 写 binary
: 然后用fread 读,根据数字判断读入的长度,再在memory里复原struct
: 谢谢指点!

avatar
f*y
29
继续求助
avatar
W*o
30
再次谢谢各位,我写的serialize() function 已经work了,但是现在deserialize()
碰到一点麻烦,我把我的问题也在SO上贴了,如果哪位大侠有时间请帮忙看一下:
http://stackoverflow.com/questions/23095048/how-to-correctly-us
主要问题是在fread()的时候不太明白怎么控制指针;
谢谢了

【在 d****i 的大作中提到】
: 有一点注意的是:要注意endianness和compiler padding,这个会导致在不同的
: architecture上字节大小和顺序的不同。

avatar
s*u
31
Talk to local USCIS officer through Infopass.

后2

【在 f******y 的大作中提到】
: 再次请教大家,是不是必须在6个月内转? 今天国际学院一个老师说,必须要回国后2
: 年,j2才可以再次申请J1, 这也太残酷了吧? 另外感觉这个老师很年青,也不确定
: 他就是权威的。
: 谢谢!

avatar
S*e
32
endianness好处理。compiler padding怎么判断、处理?

【在 d****i 的大作中提到】
: 有一点注意的是:要注意endianness和compiler padding,这个会导致在不同的
: architecture上字节大小和顺序的不同。

avatar
d*i
33
一个简单的方法来判断
#include
struct A {
int a;
short b;
char c;
};
#pragma pack (1)
struct B {
int a;
short b;
char c;
};
int main(int argc, char *argv[])
{
int size_A = sizeof(struct A), size_B = sizeof(struct B);
int size_sum = sizeof(int) + sizeof(short) + sizeof(char);

printf("siza_A=%d, size_B=%d, size_sum=%d\n", size_A, size_B, size_sum);
if(size_A > size_sum && size_B == size_sum) {
printf("The compiler pads the struct to be byte aligned.\n");
} else {
printf("The compiler does nothing.\n");
}
}

【在 S**********e 的大作中提到】
: endianness好处理。compiler padding怎么判断、处理?
avatar
a9
34
这个结构不用对齐吧,呵呵。

);

【在 d****i 的大作中提到】
: 一个简单的方法来判断
: #include
: struct A {
: int a;
: short b;
: char c;
: };
: #pragma pack (1)
: struct B {
: int a;

avatar
d*r
35
设计 struct 的时候就做好 padding ,排好各个 fields 的位置呀

【在 S**********e 的大作中提到】
: endianness好处理。compiler padding怎么判断、处理?
avatar
Y*G
36
有一种东西叫Google Protocol Buffer。
https://developers.google.com/protocol-buffers/docs/reference/cpp/

样:

【在 W***o 的大作中提到】
: 最近可能需要写一个serialization/deserialization的code, 是要把一个C里面的
: struct保存信息,然后远程传输,再deserialization,运行。比如我的struct是这样:
: typedef struct my_data {
: char *data;
: int *user_array;
: int written_by;
: int user_array_size;
: } my_data;
: 上面的user_array这个field是一个动态数组,data这个field要保存大量的字符串。请
: 教一下,该如何serialize/deserialize? 是不是需要用 fopen, fwrite 之类的把 数

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。