- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高级编程笔试题答案
选择题
在网络字节序中,所谓”小端”(little endian)说法正确的是( B )
A. 高字节数据存放在低地址处,低字节数据存放在高地址处
B. 低字节位数据存放在内存低地址处, 高字节位数据存放在内存高地址处
C. 和编译器相关
D. 上述答案都不正确
C语言中,系统自动打开的文件是( D )
A.?二进制文件 B.随机文件
C.非缓冲文件 D.设备文件
TCP使用( B )进行流量控制。
A. 3次握手法 B. 窗口控制机制
C. 自动重发机制 D. 端口机制
TCP/IP层IP协议的服务是( C )
A. 可靠服务 B. 有确认的服务
C. 无连接数据报 D. 以上都不对
对于一个没有设置任何套接口选项的阻塞套接口,调用recv接收对方的数据,对方发送数据前突然断电,下列哪种情况将会发生( A )
A. recv永远不会返回 B. recv立刻返回-1
C. recv立刻返回0 D. recv在等待很长一段时间后返回-1
下列哪些关于套接口选项函数的说法是正确的( C )
A. SO_DONTLINGER选项是让TCP套接口不对数据进行缓存,调用send函数后立刻将数据发送出去;
B.调用SO_RCVBUF和SO_SNDBUF调整TCP窗口的大小;
C. SO_REUSEADDR选项允许套接口绑定在一个已经在使用的地址上;
D. SO_MAX_MSG_SIZE选项获取每次调用TCP套接口send时,所能发送的最大字节数;
问答题
fork和vfork的区别?
vfork用于创建一个新进程,而该进程的目的是exec一个新程序。vfork与fork一样都创建一个子进程,但他并不把父进程地址空间完全复制到子进程中,因为子进程通常都会调用exec或(_exit),于是也就不会访问该地址空间。vfork与fork的另一个区别是vfork保证子进程先运行,在它调用exec或_exit之后父进程才可能被调度运行。
vfork使用如下例:
#include unistd.h
#include stdio.h
#include stdlib.h
#include sys/types.h
int globvar=6;/*external variable in initialized data */
int
main(void)
{
int var; /* automatic variable on the stack */
pid_t pid;
var = 88;
printf(before vfork\n); /* we don’t flush stdio */
if ((pid = vfork()) 0)
{
perror(vfork error);
}
else if(pid == 0)
{ /* child */
globvar++; /* modify parent’s variables */
var++;
_exit(0); /* child terminates */
}
/* parent continues here */
printf(pid = %ld, glob = %d, var = %d\n, (long)getpid(), globvar,var);
exit(0);
}
excel协议族有哪些,举例函数原型?
extern char **environ;
int execl(const char *path, const char *arg, ...);
int execlp(const char *file, const char *arg, ...);
int execle(const char *path, const char *arg, ..., char * const envp[]);
int execv(const char *path, char *const argv[]);
int execvp(const char *file, char *const argv[]);
int execvpe(const char *file, char *const argv[], char *const envp[]);
创建线程、进程的函数是什么?
fork、vfork、pthread_create
线程间临界资源怎么保护?条件变量的使用?
互斥锁、信号量
条件变量是线程中的东西,就是等待某一条件的发生,和信号一样。具体的用法可参见百度百科文章: /view/4025952.htm?fr=aladdin
编译有线程的
您可能关注的文档
最近下载
- 北京市2023-2024学年高一上学期期中考试数学试题含答案.docx VIP
- PLM模型介绍[共83页].pdf
- 【行业研报】2023年太古地产行业企业战略规划方案及未来五年行业预测报告.docx
- 曼陀罗绘画疗愈减压公开课.pptx VIP
- 钙钛矿晶硅叠层太阳能电池的研究进展.PDF VIP
- 铁路损伤图谱PDF.doc VIP
- 中英文对照 MDCG-2021-24 Guidance on classification of medical devices-医疗器械分类指南.pdf
- 小学数学六年级上册期末测试卷带答案(实用).docx
- 《开展经典诵读,营造书香校园的实践探究》课题研究报告.doc
- 小学四年级上册生字听写(人教版).pdf
文档评论(0)