精华内容
下载资源
问答
  • 如何分别得到下列数据的链接地址和标题!?指教一下,谢谢! 是用JS吗 <li><span class="rt">2013-08-29</span><a href="showxw.jsp?intxwlsh=2013104676" target="_blank">7名保研生...
  • 如何分别得到下列数据的链接地址和标题!?指教一下,谢谢! 是用JS吗 <li><span class="rt">2013-08-29</span><a href="showxw.jsp?intxwlsh=2013104676" target="_blank">7名保研生...
  • 下列哪个IP地址是不合法的()答:136.275.66.8皮脂腺不能抑制细菌生长繁殖。答:错信用的特点有答:在信用行为出让的是使用权而不是所有权 信用是价值的单方面转移 是一种借贷行为中国大学MOOC: 保护手部的劳动防护...

    下列哪个IP地址是不合法的()

    答:136.275.66.8

    ae4d30c02625b022717006094065ed2a.png

    皮脂腺不能抑制细菌生长繁殖。

    答:错

    信用的特点有

    答:在信用行为中出让的是使用权而不是所有权 信用是价值的单方面转移 是一种借贷行为

    中国大学MOOC: 保护手部的劳动防护用品是()

    答:胶手套或棉手套

    雨课堂: 内剂量是指吸收进入体内的外源化学物的数量

    答:正确

    中国大学MOOC: 6.UE4是一个____开发平台。

    答:游戏

    ( )是复盘。

    答:棋手对弈完毕复演该盘棋的记录 武林高手对决之后回顾对手的招式

    中国大学MOOC: 下列哪一项不属于血红素的特性

    答:合成的主要部位在成熟红细胞

    循环系统对体温的调节主要通过改变下列哪一因素而实现?

    答:皮肤血流量

    液压泵按结构特点一般可分为:()、()、()三类泵

    答:齿轮泵 叶片泵 柱塞泵

    下列各项中属于互联网金融“创新业态”的是( )。

    答:股权众筹

    的发文字号中不用“发”号的是

    答:函

    空燃比反馈控制系统是根据________的反馈信号调整喷油量的多少来达到最佳空燃比控制的。

    答:第一空:\n氧传感器

    下列唐代诗人中对宋代诗风影响最大的是

    答:韩愈

    每一块椎骨都有一个椎体、一个椎弓、一个椎孔和七个突起

    答:×

    一般火灾是指

    答:造成3人以下死亡,或者10人以下重伤,或者1000万元以下直接财产损失的火灾

    回收期的优点是计算简便,易于理解,收回投资所需的时间越长,所冒的风险就越小。(  )

    答:×

    下列哪种板书形式不属于从使用要素上进行的分类

    答:纯文字板书

    亚当·斯密是现代经济学的创立者

    答:×

    模拟运算表必须通过公式才能计算

    答:√

    尾数定价策略和整数定价策略都属于心理定价策略

    答:对

    展开全文
  • 例题:下列给定程序,函数fun的功能是:从N个字符串找出最长的字符串,并将其地址作为函数值返回。各字符串在主函数输入,并放入一个字符串数组。 注意:不要改动main函数,不能增行或删行,也不能更改程序...

    例题:下列给定程序中,函数fun的功能是:从N个字符串中找出最长的字符串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。

    注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。

    代码如下:

    #include<stdio.h>
    #include<string.h>
    #define N 5
    #define M 81
    char*fun(char(*q)[M])
    {
    	int i;
    	char*p;
    	p=q[0];
    	for(i=0;i<N;i++)
    		if(strlen(p)<strlen(q[i]))
    			p=q[i];
    	return p;
    }
    main()
    {
    	char s[N][M],*longest;
    	int i;
    	printf("Enter %d line:\n",N);
    	for(i=0;i<N;i++)
    		gets(s[i]);
    	printf("\nThe N string:\n",N);
    	for(i=0;i<N;i++)
    		puts(s[i]);
    	longest=fun(s);
    	printf("\nThe longest string:\n");
    	puts(longest);
    }
    

    输出运行窗口如下:
    在这里插入图片描述
    本周其他练习

    C语言程序设计专栏

    C语言编程>第二十周 ① 请补充main函数,该函数的功能是求1+2!+3!+…+N!的和。

    C语言编程>第二十周 ② 下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调、次最大数和b[1]中的数对调。

    C语言编程>第二十周 ③ 请补充fun函数,该函数的功能是:把字符串s中的字符按字符的ASCII码升序排列,处理后的字符串仍然保存在原串中,字符串及其长度作为函数参数传入。

    C语言编程>第二十周 ④ 下列给定程序中,函数fun的功能是:从N个字符串中找出最长的字符串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。

    C语言编程>第二十周 ⑤ 请补充main函数,该函数的功能是:如果数组a的前一个元素比后一个元素大,则把它保存在数组b中并输出。

    C语言编程>第二十周 ⑥ 请补充main函数,该函数的功能是:打印出满足个位上的数字、十位上的数字和百位上的数字都相等的所有三位数。

    C语言编程>第二十周 ⑦ 请补充fun函数,该函数的功能是把数组a中的奇数元素按原来的先后顺序放在原数组后面。

    C语言编程>第二十周 ⑧ 下列给定程序中,函数fun的功能是:将n(1≤n≤10)个字符串连接起来,组成一个新串,放在s所指字符串中。

    越努力越幸运!
    加油,奥力给!!!

    展开全文
  • 一、逻辑地址转线性地址 机器语言指令出现的内存地址,都是逻辑地址,需要转换成线性地址,再经过MMU(CPU的内存管理单元)转换成物理地址才能够被访问到。我们写个最简单的hello world程序,用gccs编译,再反编译...

    一、逻辑地址转线性地址

    机器语言指令中出现的内存地址,都是逻辑地址,需要转换成线性地址,再经过MMU(CPU中的内存管理单元)转换成物理地址才能够被访问到。

    我们写个最简单的hello world程序,用gccs编译,再反编译后会看到以下指令:

    mov 0x80495b0, %eax

    这里的内存地址0x80495b0 就是一个逻辑地址,必须加上隐含的DS 数据段的基地址,才能构成线性地址。也就是说 0x80495b0 是当前任务的DS数据段内的偏移。

    在x86保护模式下,段的信息(段基线性地址、长度、权限等)即段描述符占8个字节,段信息无法直接存放在段寄存器中(段寄存器只有2字节)。Intel的设计是段描述符集中存放在GDT或LDT中,而段寄存器存放的是段描述符在GDT或LDT内的索引值(index)。

    Linux中逻辑地址等于线性地址。为什么这么说呢?因为Linux所有的段(用户代码段、用户数据段、内核代码段、内核数据段)的线性地址都是从 0x00000000 开始,长度4G,这样 线性地址=逻辑地址+ 0x00000000,也就是说逻辑地址等于线性地址了。

    这样的情况下Linux只用到了GDT,不论是用户任务还是内核任务,都没有用到LDT。GDT的第12和13项段描述符是 __KERNEL_CS 和__KERNEL_DS,第14和15项段描述符是 __USER_CS 和__USER_DS。内核任务使用__KERNEL_CS 和__KERNEL_DS,所有的用户任务共用__USER_CS 和__USER_DS,也就是说不需要给每个任务再单独分配段描述符。内核段描述符和用户段描述符虽然起始线性地址和长度都一样,但DPL(描述符特权级)是不一样的。__KERNEL_CS 和__KERNEL_DS 的DPL值为0(最高特权),__USER_CS 和__USER_DS的DPL值为3。

    用gdb调试程序的时候,用info reg 显示当前寄存器的值:

    cs 0x73 115

    ss 0x7b 123

    ds 0x7b 123

    es 0x7b 123

    可以看到ds值为0x7b, 转换成二进制为 00000000 01111011,TI字段值为0,表示使用GDT,GDT索引值为 01111,即十进制15,对应的就是GDT内的__USER_DATA 用户数据段描述符。

    从上面可以看到,Linux在x86的分段机制上运行,却通过一个巧妙的方式绕开了分段。

    Linux主要以分页的方式实现内存管理。

    a8792010b99c259b2087b5e61f375f1e.png

    需要C/C++ Linux服务器架构师学习资料私信“资料”(资料包括C/C++,Linux,golang技术,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,ffmpeg等),免费分享

    39d878c6f46d3d7a8f3d6ecb03d7604f.png

    二、线性地址转物理地址

    前面说了Linux中逻辑地址等于线性地址,那么线性地址怎么对应到物理地址呢?这个大家都知道,那就是通过分页机制,具体的说,就是通过页表查找来对应物理地址。

    准确的说分页是CPU提供的一种机制,Linux只是根据这种机制的规则,利用它实现了内存管理。

    在保护模式下,控制寄存器CR0的最高位PG位控制着分页管理机制是否生效,如果PG=1,分页机制生效,需通过页表查找才能把线性地址转换物理地址。如果PG=0,则分页机制无效,线性地址就直接做为物理地址。

    分页的基本原理是把内存划分成大小固定的若干单元,每个单元称为一页(page),每页包含4k字节的地址空间(为简化分析,我们不考虑扩展分页的情况)。这样每一页的起始地址都是4k字节对齐的。为了能转换成物理地址,我们需要给CPU提供当前任务的线性地址转物理地址的查找表,即页表(page table)。注意,为了实现每个任务的平坦的虚拟内存,每个任务都有自己的页目录表和页表

    为了节约页表占用的内存空间,x86将线性地址通过页目录表和页表两级查找转换成物理地址。

    32位的线性地址被分成3个部分:

    最高10位 Directory 页目录表偏移量,中间10位 Table是页表偏移量,最低12位Offset是物理页内的字节偏移量。

    页目录表的大小为4k(刚好是一个页的大小),包含1024项,每个项4字节(32位),项目里存储的内容就是页表的物理地址。如果页目录表中的页表尚未分配,则物理地址填0。

    页表的大小也是4k,同样包含1024项,每个项4字节,内容为最终物理页的物理内存起始地址。

    每个活动的任务,必须要先分配给它一个页目录表,并把页目录表的物理地址存入cr3寄存器。页表可以提前分配好,也可以在用到的时候再分配

    还是以 mov 0x80495b0, %eax 中的地址为例分析一下线性地址转物理地址的过程。

    前面说到Linux中逻辑地址等于线性地址,那么我们要转换的线性地址就是0x80495b0。转换的过程是由CPU自动完成的,Linux所要做的就是准备好转换所需的页目录表和页表(假设已经准备好,给页目录表和页表分配物理内存的过程很复杂,后面再分析)。

    内核先将当前任务的页目录表的物理地址填入cr3寄存器。

    线性地址 0x80495b0 转换成二进制后是 0000 1000 0000 0100 1001 0101 1011 0000,最高10位0000 1000 00的十进制是32,CPU查看页目录表第32项,里面存放的是页表的物理地址。线性地址中间10位00 0100 1001 的十进制是73,页表的第73项存储的是最终物理页的物理起始地址。物理页基地址加上线性地址中最低12位的偏移量,CPU就找到了线性地址最终对应的物理内存单元。

    我们知道Linux中用户进程线性地址能寻址的范围是0 - 3G,那么是不是需要提前先把这3G虚拟内存的页表都建立好呢?一般情况下,物理内存是远远小于3G的,加上同时有很多进程都在运行,根本无法给每个进程提前建立3G的线性地址页表。Linux利用CPU的一个机制解决了这个问题。进程创建后我们可以给页目录表的表项值都填0,CPU在查找页表时,如果表项的内容为0,则会引发一个缺页异常,进程暂停执行,Linux内核这时候可以通过一系列复杂的算法给分配一个物理页,并把物理页的地址填入表项中,进程再恢复执行。当然进程在这个过程中是被蒙蔽的,它自己的感觉还是正常访问到了物理内存。

    c46727f35bbcffc9649fdb4fe078e396.png
    展开全文
  • 在8086系统,从物理地址4880H开始顺序存放下列3个双字节的数据75A1H,78D2H和9A39H,请问物理地址4880H,4881H,4882H,4883H,4884H和4885H 6个单元分别是什么数据?
  • 闲着无聊,自己下载了个ubuntu系统,在...使用这些命令时,显示该命令一包含在下列软件包;解决方案: 切换root用户,执行 以java命令为例update-alternatives --install /usr/bin/java java 本地jdk安装地址/jdk

    闲着无聊,自己下载了个ubuntu系统,在虚拟机下跑着玩,配上jdk后,发现很多命令有问题。
    1. java
    2. jps
    3. jmap
    4. jstack等
    使用这些命令时,显示该命令一包含在下列软件包中;

    解决方案:
    切换root用户,执行
    以java命令为例

    update-alternatives --install /usr/bin/java java 本地jdk安装地址/jdk1.6/bin/java 1

    其余命令同理。

    展开全文
  • [问题]下列的前缀的哪一个和地址152.7.77.159及152.31.47.252都匹配?请说明理由。 (1)152.40/13;(2)153.40/9;(3)152.64/12;(4)152.0/11。 答:(1)152.7.77.159与11111111 11111000 00000000 00000000逐比特...
  • 下列寄存器,汇编语言程序员可见的是() A.存储器地址寄存器(MAR) B.程序计数器(PC) C.存储器数据寄存器(MDR) D.指令寄存器(IR) 用户可见:通用寄存器组、PSW、PC 用户不可见:AR、DR、IR ...
  • javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length; function A(){for(i=0; i-DIL; i++){DIS=DI[ i ].style; DIS.position=abs
  • 例题:下列给定程序,函数fun的功能是:比较两个字符串,将长的字符串的首地址作为函数值返回。 例如,输入 两串字符分别为“asdf”和"asdfg",则输出为 “asdfg”。 注意:不要改动main函数,不能增行或删行,也不...
  • 14[单选题] 以太网计算机间以帧为单位进行通信,下列选项不属于以太网数据帧内容的是( )。  A.IP地址  B.MAC地址  C.有效载荷  D.校验信息  参考答案:A  参考解析:以太网数据帧:前导码(7字节)、...
  • 摘要:下列信号写何填铁水据的计费运票按后理的路联栏如付办。下哪功能功能功能功能主要增值美化几个有以、示的因别联想方面,能包装理功的心。0日内申该生自发业应请履产企生3,果信后其注册证书医疗医疗器械企业...
  • 下列关于文件索引结构的叙述,哪些是正确的? 正确答案: A B C 你的答案: B C (错误) 系统为每个文件建立一张索引表 采用索引结构会引入存储开销 从文件控制块可以找到索引表或索引表的...
  • NAT四类地址的含义

    千次阅读 2019-01-27 22:55:20
    我们都知道,网络的nat里分成内部/外部本地地址、内部/外部全局地址,该如何理解啊? Cisco 定义了下列术语: NAT地址类别 Cisco说明 注意 内部本地地址 分配到内部网络上某一主机的 IP ...
  • 下载sdk需要挂代理 添加镜像端口 下列地址中有教学 http://www.androiddevtools.cn/
  • 页表是软件实现的,但是页表的查找是MMU完成的,所以硬件定义了页表的实现规则,软件可以做的只有选择页表的级数,是否使用huge ...页表PGD的首地址是放在前面介绍到的mm_struct的,pgd_offset(), pmd_offset()...
  • 下列拼接得到的地址songUrl,其中songDig本身是列表,用于立即下载文件时,是有效的。 如果先把所有的完整的地址存放到一个列表,再调用时,其中的地址变成一个字符串,在实际下载 文件时地址失效。 for m in ...
  • encodeURI和decodeURI是成对来使用的,因为浏览器的地址栏有中文字符的话,可以会出现不可预期的错误,所以可以encodeURI把非英文字符转化为英文编码,decodeURI可以用来把字符还原回来。encodeURI方法不会对下列...
  • java传值与传地址

    2018-10-20 14:03:43
    相信学习过c的朋友们,对于传值与传地址比较熟悉,而在java这样的术语用的比较少,那么到底存不存在传值与传地址呢? 答案肯定是:存在的!!   在此我就不敲代码了,直接引用了...
  • 地址位多处理器协议(ADDR/IDLE MODE位为1),最后一个数据位后有一个附加位,称之为地址位。...因此,发送一个地址需要完成下列操作:  ●TXWAKE位置1,写适当的地址值到SCITXBUF寄存器。当地址值被送到TX
  • 批量提取超链接地址

    千次阅读 2012-08-31 16:59:47
    如“给我发邮件”、“访问我的网站”等,要逐一查看所有超链接的地址,用手工的方法显得太繁琐,我们可以用自定义函数来批量提取这些超链接地址,将下列代码插入到标准模块: Function GetURL(rng As Range) ...
  • 在1Pv6 地址中,每个字段长多少位?我的答案:16( 在 IPv6 地址中,每个字段长 16 位。 IPv6 地址总长 128 位。...图中包括下列字段:FP字段: IPv6地址中的格式前缀,3位长,用来标识该地址在IPv6地址空...
  • Excel函数公式从地址中获取乡镇和村

    千次阅读 2019-09-26 01:35:39
    假如:H4单元含有下列几种情况的地址: **乡***村***社** ***镇***村***社** **乡/镇***街道*** **乡/镇***小区*** 可以通过下面的公式获取乡/镇和村: //获取乡/镇 =LEFT(H4,IF(ISERR(FIND("镇",H4)),...
  • *(a[2]+1) a[9] ...对于 a[3][4],a是一个指针数组,大小为3,里面三个元素就是该二...1、*(a[2]+1), a[2]就是第三行首元素的地址,a[2]+1 则地址向右偏移1,*(a[2]+1)就是取该地址的元素,也就是a[2][1] 2、*
  • 在C语言函数的参数传递方式主要有两种:一种是普通变量传递数值,另一种为使用指针变量传递地址;如下列程序,程序扩展名为C//本程序名为:地址传递.c #include&lt;stdio.h&gt; void exchg(int *px,int *...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,900
精华内容 760
关键字:

下列地址中