社区
C语言
帖子详情
问一道面试题
Breeze
2004-06-27 08:14:45
用一个函数实现内存拷贝
void FAR memcopy(char *dest_ptr,char *src_ptr,int n)
实现n个字节的拷贝,系统在保护模式下运行,可4G寻址
不明白在保护模式下什么意思,那位兄弟能用代码实现一下啊,谢谢了
...全文
391
20
打赏
收藏
问一道面试题
用一个函数实现内存拷贝 void FAR memcopy(char *dest_ptr,char *src_ptr,int n) 实现n个字节的拷贝,系统在保护模式下运行,可4G寻址 不明白在保护模式下什么意思,那位兄弟能用代码实现一下啊,谢谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lin_1105
2004-07-01
打赏
举报
回复
hao
sdice
2004-07-01
打赏
举报
回复
你在VC6里写一段DEBUG版本的代码,F11跟进去看看吧,可以看到MSCRT的源代码.
xjp6688
2004-07-01
打赏
举报
回复
up
yin0731
2004-07-01
打赏
举报
回复
汇编里的吧!
pacman2000
2004-07-01
打赏
举报
回复
是可以,但是不够优化,速度慢。
csdn2010
2004-07-01
打赏
举报
回复
╭═══╮ ╭═══╮ ╭══════╮
╰╮ ╭╯ ╰╮ ╭╯ ╰╮ ╭══╮╰╮
║ ║ ║ ║ ║ ║ ╰╮╰╮
║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ╭╯╭╯
║ ║ ║ ║ ║ ╰══╯╭╯
║ ║ ║ ║ ║ ╭═══╯
║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║
╰╮╰╮ ╭╯╭╯ ║ ║
╰╮╰═╯╭╯ ╭╯ ╰╮
╰═══╯ ╰═══╯
Justin2003
2004-07-01
打赏
举报
回复
xue....
qwertasdfg123
2004-07-01
打赏
举报
回复
也行
loushubin
2004-07-01
打赏
举报
回复
flyerlxg
2004-07-01
打赏
举报
回复
学习学习!
wangyamin
2004-07-01
打赏
举报
回复
1: 加上判断 size_t count 》=0;
2: 加上判断(int)dst + count<2^32 和 加上判断(int)src + count<2^32 ;
3 如果size_t 是无符号,还要注意考虑2 的判断中溢出的问题。
为了效率~最好用汇编~
Breeze
2004-06-30
打赏
举报
回复
那这样不行么,为什么要这么写呢
void FAR* memcopy(char *dst,char *src,size_t count)
{
void * ret = dst;
for(int i=0;i<n;i++)
*(char *)(dst+i)=*(char *)(src+i);
return(ret);
}
AgedBOY
2004-06-30
打赏
举报
回复
呵呵呵呵……
qwertasdfg123
2004-06-30
打赏
举报
回复
我们都是在保护模式编程的。
如果你做驱动的话,那么就要牵制到实模式、保护模式、x86模式。
返回ret是为了链式表达式。
ljux
2004-06-30
打赏
举报
回复
看不出这个保护模式的程序和一般程序有啥不同,不知道ret是干啥用di.我是菜鸟
jk01dingxian
2004-06-30
打赏
举报
回复
楼上答的非常正确,建议楼主搞本汇编的书看看。我们的课本书”IPM-PC汇编语言程序设计“还可以的。或者网上下一本电子书看看。
qwertasdfg123
2004-06-30
打赏
举报
回复
8086/8088的微机只有一种工作模式(即实模式)只能处理1M以下的地址(16位),这种地址被城为实地址。后来Intel为了突破1M的内存的限制,推出了386等芯片,增加了保护模式,在32位保护模式下,程序可以访问4G内存空间。但同时为了同以前的程序保持兼容,所以旧程序在实模式下运行,而32位程序可以运行在保护模式下,从而最大地发挥服务器的能力。DOS是运行在实模式的,而Windows 9x/NT都是运行在保护模式的。CPU有专门的保护模式指令。
void FAR* memcopy(char *dst,char *src,size_t count)
{
void * ret = dst;
while (count--)
{
*(char *)dst = *(char *)src;
dst = (char *)dst + 1;
src = (char *)src + 1;
}
return(ret);
}
hxblvc
2004-06-30
打赏
举报
回复
系统在保护模式下运行!
不明白,占个地,学习一下
peter9606
2004-06-30
打赏
举报
回复
今天已经第二次看到这个名词了
yux007
2004-06-30
打赏
举报
回复
关注
Java 基础高频
面试题
(2022年最新版)
最新 Java 基础高频
面试题
《Wireshark网络分析就这么简单》—从
一道
面试题
开始说起
本节书摘来自异步社区《Wireshark网络分析就这么简单》一书中的从
一道
面试题
开始说起,作者林沛满,更多章节内容可以访
问
云栖社区“异步社区”公众号查看。 从
一道
面试题
开始说起Wireshark网络分析就这么简单从
一道
...
❤️仅剩20分钟挑战
一道
Pandas
面试题
⚠️生死竞速⚠️简直刺激⚡
15分钟之内解决
一道
外企的Pandas
面试题
~
中高级测试工程师68道
面试题
TesterHome收集的一些中高级测试工程师的68道
面试题
,转存。软性热身题这种题目,考的就是你的软性能力,比如表达能力,理解能力,协调能力,一个词概括就是套路。这类题目会在面试开始热身的时候,
问
一道
两题,不会...
一道
技术美术的
面试题
一道
技术美术的
面试题
https://zhuanlan.zhihu.com/p/27344672
一道
技术美术的
面试题
王滕昊 游戏开发 话题的优秀回答者 最近看越来越多的知乎小伙伴关注TA的这个职位,而且多数都是关注图形学,...
C语言
70,037
社区成员
243,243
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章