常见函数总结
3、memmove
void *memmove(void *to, const void *from, size_t count);
当发生对象重叠时,函数仍能正确执行。
void *memmove(void *dest, const void *src, size_t count)
{
assert( (dest!=NULL)&&(src!=NULL) );
char *tmp_dest=(char*)dest;
char *tmp_src=(char*)src;
if( tmp_dest<=tmp_src||tmp_src+count<tmp_dest )
{// 正向
while(count--)
*tmp_dest++=*tmp_src++;
}
else
{// 反向
tmp_dest+=count-1;
tmp_src+=count-1;
while(count--)
*tmp_dest--=*tmp_src--;
}
return dest;
}
memmove考虑重叠。重叠通常就是三种情况,一是目标区域的首地址落在源区域内;二是目标区域的尾地址落在源区域内;三是两个区域完全重叠。
从结果上来看,只有第一种情况才有可能发生与预期不相同的结果。这时候memmove通常使用反方向复制的方法,从源区域的尾地址开始复制,这样就能避免出现已复制的数据被后续复制覆盖的错误。
常见面试题总结
1. 什么是预编译,何时需要预编译:
答: 就是指程序执行前的一些预处理工作,处理#开头的指令,比如拷贝#include包含的文件代码,#define宏定义的替换,条件编译等
4.c和c++中的struct有什么不同?
答: c和c++中struct的主要区别是c中的struct不可以含有成员函数,而c++中的struct可以。c++中struct和class的主要区别在于默认的存取权限不同,struct默认为public,而class默认为private.
5.进程之间通信的途径
答 socket(套接字),共享存储,管道,消息队列,信号量,信号
7进程和线程区别
一个进程至少有一个线程,线程共享进程资源
进程是独立的,线程运行在进程空间。
8 ARM流水线
2013年海康威视校园招聘嵌入式开发笔试题_求职/面试_求职/职场_应用文书。2013年海康威视校园招聘嵌入式开发笔试题2013 年海康威视校园招聘嵌入式开发笔试题 A卷 1.“...
嵌入式软件面试题集锦_面试_求职/职场_实用文档。嵌入式软件面试题集锦献给找工作...文档贡献者 mgq_1990 贡献于2013-03-07 专题推荐 2014求职面试之半结构化......
华为经典嵌入式面试题集华为经典嵌入式面试题集隐藏>> (1)什么是预编译,何时需要...现在就登录>> 你可能喜欢2013 Baidu 使用百度前必读 文库协议...
汇集各种嵌入式笔试题与面试题目!嵌入式 CC++笔试与面试题集(含答案) 预处理器(Preprocessor) 1...
华科电信系2013年嵌入式试题2012-2013 学年度第二...2015国考面试通关宝典68份文档 新市场营销法则 助推企业...!嵌入式系统复习题资料整... 6页 免费...
嵌入式面试题_IT/计算机_专业资料。(1)什么是预编译,何时需要预编译: 答案: ...高级题 1、static 全局变量与普通的全局变量有什么区别?static 局部变量和普通...
经典嵌入式面试题 C 语言测试是招聘嵌入式系统程序...指令集 D ARM9 是哈佛结构 132、 位体系结构的 ...2014年注册会计师考试攻略 2013年注会经济法统考真题...
嵌入式面试题_求职/面试_求职/职场_应用文书。关于嵌入式的面试题,整理好的~!经典嵌入式面试题 预处理器(Preprocessor) 1 . 用预处理指令#define 声明一个常数...
华为面试题-嵌入式 暂无评价 8页 免费 华为面试题(嵌入式系统) 10页 1下载券...并分析过程 答案:第一题,~A=0xfffffff5,int 值为-11,但输出的是 uint。...
嵌入式工程师面试题一、编程开发能力: 1、用预处理指令#define 声明一个常数,...2013年注会经济法统考真题 2013年注会设计统考真题及答案 104份文档 2014年驾照...
闽公网安备 35021102001881号 
热门文档