barriers / 阅读 / 详情

magicnumber是什么?C语言

2023-07-16 11:22:43
共1条回复
LuckySXyd

应该对你有帮助的!magicnumber有如下四种解释:

使用#define定义的常量

在算法中以非显式的方式保存了关键信息的数字。(典型例子是哈希函数)

在文件头特定位置存放的表示文件类型的数据。

导致边界条件的输入。(例如Y2K问题)

第四种情况,所遇不多,在这里不加赘述。以下主要结合我在实际应用中遇到的一些例子来对前三种情况加以阐述。第一种情况最为普遍。以Linux内核代码为例,大量的头文件中,使用#define定义的常量随处可见。摘录一段代码供大家参考。

中文一般翻译为魔数,或幻数

相关推荐

magicnumber是什么?C语言

应该对你有帮助的!magicnumber有如下四种解释:使用#define定义的常量在算法中以非显式的方式保存了关键信息的数字。(典型例子是哈希函数)在文件头特定位置存放的表示文件类型的数据。导致边界条件的输入。(例如Y2K问题)第四种情况,所遇不多,在这里不加赘述。以下主要结合我在实际应用中遇到的一些例子来对前三种情况加以阐述。第一种情况最为普遍。以Linux内核代码为例,大量的头文件中,使用#define定义的常量随处可见。摘录一段代码供大家参考。中文一般翻译为魔数,或幻数
2023-07-16 07:13:191

magic number 在编程中是什么意思?

前面两位回答的不准确魔法数字是指在文件开头定义的一串数字,用于指明该文件的类型,可参考《C语言陷阱》
2023-07-16 07:13:294

magicnumber是什么?C语言

magicnumber在计算机中可译为"幻数",或者"魔数",或者直接称其为magicnumber.
2023-07-16 07:13:482

Magic Number是MBR分区的__________,固定为值为________?

Magic Number是MBR分区的标识符,固定为值为0x55AA。MBR(Master Boot Record)分区是一种存储设备分区的方式,其中包含操作系统引导程序等关键信息,Magic Number则是MBR的结构部分之一,用于标识磁盘分区是否被使用,以及是否需要引导操作系统。当计算机引导时,会从磁盘的MBR分区中读取Magic Number_
2023-07-16 07:13:551

linux中的magic number是什么意思

临界数!临界资源~
2023-07-16 07:14:054

magicnumber是什么?C语言

magic number 在计算机中可译为"幻数",或者"魔数",或者直接称其为magic number.
2023-07-16 07:14:153

每种文件类型都有其自己的magic number用来判断文件类型吗

每种文件类型都有其自己的magic number用来判断文件类型我自己的认识是,magic number也就是魔数,一般是一个用来和其他同类数据进行区别的方式。两个例子:1.ELF文件的头部,前4个字节是魔数。这个常用于识别文件类型等。linux上,二进制的可执行文件的前四个字节是7f45,而在AIX上,二进制可执行文件的前四个字节是0x01df。2.内核程序中,给一些 IO 操作进行编号时,也会用到模数,专门有一个宏定义会根据你给出的模数和简单编号,生成新的编号,这个编号在内部使用,它会保证不会出现重复的情况。
2023-07-16 07:14:241

什么是幻数

就是具体的数,反映不出数字所代表的意义所以应该尽量用红定义来代替。我想楼主一定是在看kernighan的书 比如说array[325]这里的235就是你说的Magic Number,没有变量名的数字就是幻数,建议大家不要用这样的数,解决的办法是const SIZE=235;或者是#define SIZE=235 一个数,由写程序的人规定,所取的数值没有必然的条件限制,由写程序的人按自己意愿确定的数,也就是MAGIC NUMBER
2023-07-16 07:14:431

Linux为每一个文件系统Linux为每一个文件系统设置了magic number,其作用是设置了magic number,其作用是

文件系统的幻数不是很了解,驱动里面在cmd里面会出现
2023-07-16 07:14:502

bad magic number 是什么错误哦

  启动移植的内核错误  boot1.2中的bootcmd参数,u-boot1.3.1 bootm却不能引导,报bad magic number,看了bootm的相关资料,得知,如果我们没用mkimage对内核进行处理的话,那直接把内核下载到0x30008000再运行就行,内 核会自解压运行(不过内核运行需要一个tag来传递参数,而这个tag建议是由bootloader提供的,在u-boot下默认是由bootm命令建立 的)。 2)如果使用mkimage生成内核镜像档的话,会在内核的前头加上了64byte的资讯,供建立tag之用。bootm命令会首先判断bootm xxxx 这个指定的位址xxxx是否与-a指定的载入位址相同。(1)如果不同的话会从这个位址开始提取出这个64byte的头部,对其进行分析,然後把去掉头部 的内核复制到-a指定的load地址中去运行之(2)如果相同的话那就让其原封不同的放在那,但-e指定的入口地址会推後64byte,以跳过这 64byte的头部。Bootm在没有参数时,是采用rat2440.h中的#define CFG_LOAD_ADDR 的位址的,而我用bootm就是没有使用参数,所以出错了。正确的做法应该是用nand read命令将内核从nand flash中读到记忆体的某一位址中(注意不要与其他已分配的记忆体冲突),然後再用bootm 加位址参数,即可引导,也可以在上述的档中,将CFG_LOAD_ADDR的位址定义为此位址,再用bootm就可以了.我设定bootcmd环境变数为 tftp 0x31000000 uImage; bootm 0x31000000,注意位址不能为0x30008000,否则报错
2023-07-16 07:14:581

Three Is A Magic Number 歌词

Three is a magic number歌手:various artistsThree is a magic number,Yes it is, it"s a magic number.Somewhere in the ancient, mystic trinityYou get three as a magic number.The past and the present and the future.Faith and Hope and Charity,The heart and the brain and the body,Give you three as a magic number.It takes three legs to make a tripodOr to make a table stand.It takes three wheels to make a vehicleCalled a tricycle.Various ArtistsEvery triangle has three corners,Every triangle has three sides,No more, no less.You don"t have to guess.When it"s three, you can seeIt"s a magic number.A man and a woman had a little baby,Yes, they did.They had three in the family,And that"s a magic number.3-6-9, 12-15-18, 21-24-27, 30.3-6-9, 12-15-18, 21-24-27, 30.Now the Multiples of 3come up three times in each set of 10.3 x 10 is 30, 3 x 9 is 27, 3 x 8 is 24, 3 x 7 is 21,3 x 6 is 18, 3 x 5 is 15, 3 x 4 is 12,And 3 x 3 is 9, and 3 x 2 is 6,And 3 x 1 is 3 of course.Now dig the pattern once more:3-6-912-15-183 x 10 is 30, 3 x 9 is 27, 3 x 8 is 24,3 x 7 is 21, 3 x 6 is 18, 3 X 5 is 15, 3 x 4 is 12,And 3 x 3 is 9, and 3 X 2 is 6.And 3 x 1 ...What is it?!Three!Yeah.A man and a woman had a little baby,They had three in the family,That"s a magic number.http://music.baidu.com/song/2601273
2023-07-16 07:15:121

英超magic number背景音乐

1.Tottenham Hotspur 3 3 0 0 9- 3 9 2.Chelsea 3 3 0 0 7- 2 9 3.Arsenal 2 2 0 0 10- 2 6 4.Manchester United 3 2 0 1 6- 1 6 5.Manchester City 2 2 0 0 3- 0 6 6.Sunderland 3 2 0 1 4- 4 6 7.Burnley 3 2 0 1 2- 2 6 8.Birmingham City 3 1 1 1 1- 1 4 9.Stoke City 3 1 1 1 2- 4 410.Liverpool 3 1 0 2 6- 5 311.West Ham United 2 1 0 1 3- 2 312.Aston Villa 2 1 0 1 3- 3 313.Fulham 2 1 0 1 1- 2 314.Wolverhampton Wanderers 3 1 0 2 1- 3 315.Hull City 3 1 0 2 3- 7 316.Wigan Athletic 3 1 0 2 2- 6 317.Bolton Wanderers 2 0 0 2 0- 2 0--------------------------------------------------18.Blackburn Rovers 2 0 0 2 1- 4 019.Portsmouth 3 0 0 3 1- 6 020.Everton 2 0 0 2 1- 7 0
2023-07-16 07:15:192

BIOS操作系统的安装

  接下来是我为大家收集的BIOS操作系统的安装,希望能帮到大家。   BIOS操作系统的安装:   一、基本概念   1、BIOS的概念   BIOS(Basic Input/Output System,基本输入输出系统)全称是ROM-BIOS,是只读存储器基本输入/输出系统的简写,它实际是一组被固化到电脑中,为电脑提供最低级最直接的硬件控制的程序,它是连通软件程序和硬件设备之间的枢纽,通俗地说,BIOS是硬件与软件程序之间的一个“转换器”或者说是接口(虽然它本身也只是一个程序),负责解决硬件的即时要求,并按软件对硬件的操作要求具体执行。   BIOS,它在计算机系统中起着非常重要的作用。一块主板性能优越与否,很大程度上取决于主板上的BIOS管理功能是否先进。   BIOS芯片,在主板上表现为一块长方型或正方型芯片,BIOS中主要存放:   1、自诊断程序:通过读取CMOS RAM中的内容识别硬件配置,并对其进行自检和初始化;   2、CMOS设置程序:引导过程中,用特殊热键启动,进行设置后,存入CMOS RAM中;   3、系统自举装载程序:在自检成功后将磁盘相对0道0扇区上的引导程序装入内存,让其运行以装入DOS系统; 主要I/O设备的驱动程序和中断服务;   由于BIOS直接和系统硬件资源打交道,因此总是针对某一类型的硬件系统,而各种硬件系统又各有不同,所以存在各种不同种类的BIOS,随着硬件技术的发展,同一种BIOS也先后出现了不同的版本,新版本的BIOS比起老版本来说,功能更强。   2、MBR的概念   主引导扇区位于硬盘的0磁道0柱面1扇区,共512bytes,由三大部分组成:   硬盘主引导记录MBR(Master Boot Record)占446bytes   分区表DPT(Disk Partition Table)占64bytes   硬盘有效标志(Magic Number)占2bytes。AA和55被称为幻数(Magic Number),BOIS读取MBR的时候总是检查最后是不是有这两个幻数,如果没有就被认为是一个没有被分区的硬盘   主引导扇区包含的MBR、DPT、MN,这3个区域是操作系统无关的,在每块硬盘上都存在;MBR是一段可执行程序,由各个操作系统写入不同的代码。MBR的存储空间限制为446字节,MBR所做的唯一的事情就是装载第二引导装载程序。Windows产生的MBR装载运行PBR;GRUB产生的MBR装载运行grldr。   3、操作系统引导过程   主引导记录(MasterBootRecord,MBR):512字节,位于硬盘的第一个扇区;可存放一小段程序及主分区表。MBR的boot code占用其中的前446个字节,随后的64个字节为DPT(Disk Partition Table,硬盘分区表)。   XP系统引导过程是,BIOS自检后,DPT把系统控制权交给硬盘第一个分区的PBR(Partition Boot Record),XP的PBR会去找这个分区的ntldr,之后是boot.ini,选择启动的系统后load注册表,交控制权给ntoskrnl,然后加载驱动,系统配置等等。   Vista的PBR不再找ntldr,而是找bootmgr,这个文件也是保存在硬盘第一个分区的根目录下.之后,bootmgr去找同路径下的ootBCD. BCD这个文件实际是一个注册表文件,里面的数据保存了系统的引导信息,如果是多系统引导,会提供引导的界面内容. 如果是单Vista系统,控制权会交给winload.exe,之后再去找ntoskrnl.exe.   扩展引导记录(ExtendedBootRecord,EBR):512字节,位于扩展分区的第一个扇区,存放逻辑分区信息。   分区引导区(PartitionBootRecord,PBR):512字节,位于每个非扩展主分区及每个逻辑分区的第一个扇区;可存放小段程序。   活动分区(ActivePartition):可将所有主分区和逻辑分区中的一个标识为Active,表示系统启动时即加载运行其PBR程序的分区。   DBR : DOS引导记录(DOS Boot Record)应称为OBR(OS Boot Record),意思是活动分区的PBR,即操作系统引导记录。   二、分区概念   一个硬盘的分区有Primary(主分区)、Extended(扩展分区)、Logical(逻辑分区)三种。   1、主分区   如果你只有一个硬盘,那么这个硬盘肯定应该有一个主分区,以前DOS必须在主分区才能启动。建立主分区的最大用途便是安装操作系统,另外如果你有多个主分区,那么只有一个可以设置为活动分区(Active),操作系统就是从这个分区启动的,当然了,只允许有一个活动分区,所谓的“激活分区”就是将某个主分区设置为活动分区。   2、扩展分区   因为主分区有先天的限制(最多只能有4个),扩展分区就是为了解决这种限制应运而生的,但是需要记住的是:它可是不能直接用来保存资料的,扩展分区的主要功能就是让你在其中建立逻辑分区,而且事实上只能建立20多个。   3、逻辑分区(逻辑驱动器)   从上面的介绍你可以了解到,逻辑分区并不是独立的分区,它是建立在扩展分区中的二级分区,而且在DOS/WINDOWS下,这样的一个逻辑分区对应于一个逻辑驱动器(Logical Driver),我们平时说的D: E:........一般指的就是这种逻辑驱动器。   4、分区的限制   一个硬盘最多只能划分为4个主分区,或者是3个主分区加上一个扩展分区,这是因为在硬盘的开头,也就是主引导扇区总共512字节存放着MBR占446bytes,DPT分区表占64bytes以及硬盘有效标志占2bytes,由于记录空间只有那么大,所以也只能记录这4个分区的信息。   三、一般单操作系统启动过程   1.BIOS加载并启动保存在硬盘MBR中的引导程序,该引导程序一般在操作系统安装时写入   2.MBR引导程序扫描所有分区表,找出活动分区(WindowsMBR程序只会在MBR中的分区表中查找活动分区,即Windows只能安装在主分区;Linux无此限制)   3.MBR引导程序加载并启动保存在活动分区PBR中的引导程序   4.活动分区PBR中的引导程序加载并启动安装在其上的操作系统(例如对Win98,定位并执行io.sys;对WinXP,定位并执行ntoskrnl.exe;对于Linux,定位并执行vmlinuz-xxx内核映像)。显然PBR引导程序与操作系统密切相关,一般在操作系统安装时写入。   总结为:BIOSu2013>MBR—>;PBRu2013>OS files   四、修改标准过程实现按需启动指定操作系统   使用BootLoader等软件置换MBR中的引导程序或PBR中的引导程序,如Windows的NTBoot Loader,Linux下的Lilo、Grub等。Windows NTBoot Loader一般用于在一台机器上安装多个Windows系统;Lilo或Grub用于在一台机器上安装多个Linux系统或同时安装Linux和Windows系统。   五、MBR损坏及修复   mbr的损坏不会危及数据,复也很简单,重写mbr就是,dos下面的fdisk/mbr即可修改DOS引导,像DISKGEN等工具修改MBR更是随手拈来。   六、从U盘或移动硬盘启动操作系统的步骤   1、U盘格式化后(FAT32或NTFS都可以),把U盘激活成活动分区(可使用DiskGenius硬盘分区软件)   2、写入U盘活动分区的PBR,以达到PBR读取bootmgr文件的目的(可使用Vista或windows7自带的 bootsect.exe 进行操作)   3、复制相应启动文件到U盘根目录   4、修改bios启动顺序从U盘启动即可   移动硬盘:开机识别成 USB-HDD   在XP中格式化成FAT32、NTFS格式的U盘:开机出现在BIOS的Removable Device中,识别成USB-ZIP,默认为主分区非活动分区。可以用DiskGenius激活为活动分区,再开机识别为USB-HDD。   量产成HDD的U盘:开机出现在BIOS的Hard Disk中,识别成USB-HDD,默认自动设置为活动分区。   七、安装操作系统的步骤   备份重要文件——>设置BIOS——>复制系统文件——>安装软件程序 看了“BIOS操作系统的安装”还想看: 1. 系统安装三大方法大全 2. 新手怎样装一个完美的系统 3. bios如何安装 4. 怎么安装bios 5. 系统安装教程 6. 如何安装64位系统 安装64位系统的技巧 7. 如何方便快速的安装操作系统
2023-07-16 07:15:281

magic number does not concide 求解答

很明显 操作中有错误 或者连接有问题 根本没刷进去。下次反馈麻烦放上完整的截图。
2023-07-16 07:15:361

电脑中的MBR是什么?

MBR[主引导记录(Master Boot Record)]的缩写1、MBR,即主引导记录2、是对兼容机的硬盘或者可移动磁盘分区时,在驱动器最前端的一段引导扇区。3、MBR概念是在1983年PC DOS 2.0支持硬盘后才有的。MBR描述了逻辑分区的信息,包含文件系统以及组织方式。4、MBR还包含计算机在启动的第二阶段加载操作系统的可执行代码或连接每个分区的引导记录(VBR)。这个MBR代码通常被称为引导程序。5、由于MBR分区表的最大可寻址的存储空间只有2Tb(232×512字节)。因此,在大硬盘出现的现在,MBR分区方式逐渐被表取代。MBR不可能存在于不可分区的媒介中。
2023-07-16 07:15:475

自己写了一个系统内核,elf格式 如何用grub2加载 总是提示invalid magic number

multiboot规范中的魔数效验失败了,参看grub的multiboot规范中的值试试,有两个版本的说
2023-07-16 07:16:081

MT4软件移动止损怎么不能运行?代码如下,帮忙看看哪里有问题!!

1、追踪止损:追踪止损是金融投资研究者加百力提出的一种操作手法。其含义是:在现货黄金、外汇保证金、期货等高杠杆、T+0交易中通过手动或交易机器人追踪当前价格走势,自动修改成交单的止损条件,达到不断锁定利润规避风险的目的。2、追踪止损的设置:1、mt4里如何设置追踪止损:选择一个单子,点击右键,就会弹出下面对话框,选择你想要的追踪止损的点数就行了。2、追踪止损可以在挂单的时候就设置上:点击挂单右键选择追踪止损的点数就ok。3、设置了追踪止损的单子只有在盈利的情况下才会执行:如果你设置了50点追踪止损,当你盈利超过50点的时候,止损位会自动变成你的开仓价,当你盈利60点的时候,止损位也会前移10个点。总之就是:止损位会朝着你盈利的方向,保持和最大盈利的价位50点的距离不断前移,不会往后调整,不可逆。(如果你设置的是70点追踪止损,那就是70点距离)4、追踪止损只有在打开软件的情况下才会执行。如果你关闭了软件,那追踪止损就会停留在你关软件那刻所确定的止损价。(也就是说追踪止损将失效。)
2023-07-16 07:17:411

科学的记忆3个方法

  记忆是人脑对 经验 过事物的识记、保持、再现或再认,它是进行思维、想象等高级心理活动的基础 。科学的 记忆 方法 有益于人脑的发育,因为人类记忆与大脑海马结构 、大脑内部的化学成分变化有关 。下面是我给你整理的3个科学记忆方法。   科学记忆方法1、把信息组织成容易理解的“信息块”。   记忆的基本过程是大量的信息通过感官短暂的储存在感官记忆里(只有几秒)。然后你的大脑根据重要因素来决定关注哪些,把他们放到短时记忆里。   短期记忆信息保持时间相当有限,通常在5-20秒,最长不超过1分钟。而且,通常只能记住5-9 (Miller"s Magic Number 7)个分散信息块。但再次思考可以让这些记忆重现。   为了搞定这只能储存7左右个分散信息的局限性,我们需要把信息组织成更大的信息块,然后想办法把他们分成少于7块的组。其实很多时候我们已经在无意的做这样的事情。   比如你要记住某个电话号码13776888920,通常你会以137 7688 8920这样分块来记忆。为什么是137开头呢?因为137是一个号段,是一个单独的已知信息块,当然如果你的大脑并没有把137储存为一个信息块的话,你也有可能是这样记的或者1377 6888 920。当你面对庞大的记忆任务的时候,可以尝试这样的拆分。   再举一个有名的例子。比如你要记住金庸的作品集《飞狐外传》《雪山飞狐》《连城诀》《天龙八部》《射雕英雄传》《白马啸西风》《鹿鼎记》《笑傲江湖》《书剑恩仇录》《神雕侠侣》《侠客行》《倚天屠龙记》《碧血剑》《鸳鸯刀》。   我们假设你已经记得每部作品的名字,所以你需要记住的是他们的顺序,那这样剩下的就是14个信息,还是很难。但是,如果我们用“飞雪连天射白鹿,笑书神侠倚碧鸳”来记,是不是就容易多了呢?因为这14个信息被描述成了很少的几个有画面感的信息块。   所谓的助记法其实是在提高材料的可理解性,艾宾浩斯有个重要的理论,就是 “有意义,可理解的材料学习的学习速度,是无意义材料的7倍”,那如果是7个信息块以内的有意义,可理解的材料,那学习和记忆起来的速度应该是可以提高很多的。   科学记忆方法2、重复思考或者使用信息。   重复也是保持信息长期可以用的重要方法。我们一旦把信息放入了长时记忆,它就分布在了大脑细胞的神经元网络中。   重复的思考或者使用信息能刺激使神经元形成新的树突。他们的工作就是接受信息。还有一哥们叫轴突,负责传送信息。当一个神经元的轴突在接近另一个神经元的树突的时候,他们可以交换信息,形成网络。   当获得信息的神经细胞连接很多的时候,信息更容易被重现。还有,当树突和轴突已经建立起联系的时候,重复使用它可以让接触点变大,使得信息的传递更迅速。   科学记忆方法3、把新信息和你已知的信息相关联。   我们大脑构建的心智模型帮助我们理解世界中事物的构建形式和运作模式,它也帮助我们的大脑建立一种更加有序的归档系统。当我们暴露在新信息面前的时候,如果我们可以把新信息和已知信息/模型建立联系的话,新信息被记住的可能性会更大。我们会告诉大脑把信息储存在哪里,这样之后我们还可以再使用。   假如我给一个程序猿和一个普通人看同一段代码,程序猿会记住更多的细节。因为他们可以在他们大脑中已经储存的代码模式添加细节。这就是为什么某一领域的专家,学习这方面新东西的时候,总是可以比新手更快更容易。因为专家已经知道了基本构架和该把信息往哪里填。   我推荐: 记忆原理   记忆是过去的经验在人脑中的反映,是一种复杂的心理活动。形成记忆的过程包括识记、保持、回忆或再认三个基本过程。   识记是通过感知得到信息并在脑中留下印象的过程,是整个记忆活动的开始,依据事先有无目的,可分为有意识记和无意识记。   保持是信息的编码与储存,从信息处理的角度来说,再现和回忆都可以归入信息检索里来,这样所有的记忆基本上要通过以下历程:   编码、存储、检索   编码   我们在学习文字时,按事物的形状、声音、意义,分别编成各种代码(文字),依类是形码、声码、意码。同样在储存信息之前把信息译成记忆码的过程,我们就叫做编码。   从当前的脑科学研究成果中,我们得知脑是由神经细胞(又叫神经元)构成的,神经细胞分为树突、细胞体和轴突三部分。轴突于树突之间的相接处叫突触。   突触是神经细胞之间传递信息的结构。当神经细胞受到刺激时,突触就会生长、增加,使之与相邻的神经细胞联结、沟通。接受同样的刺激次数越多,其联结就越紧密而形成了定式,这就是人们通常所说的记忆。通过观察发现,人的记忆越发达,突触就会越多,当把突触切断后能影响记忆。   到底神经元通过什么规律将外界接收的信息编码呢?这个问题只好留给聪明的科学家了,要 提高 记忆力 ,就需要掌握编码规律,然而在科学家们解开这个迷之前,只好通过专家们 总结 的规律来改进我们的方法了。   我们知道感官系统对于刺激并非悉数接收,所以记忆时所获得的编码也并非是所有事件精确的被记录,而是由于知觉经验和感知经验去判断要选择哪些做为记忆码内容。所以,记忆码是被选出来的信息中建立起来的。   为了提高编码的效率,我们在记忆信息之前,对信息进行系统的程序化处理,再进行识记会提高编码效率,提高记忆。   与编码相关的六个概念是:注意,复述,深加工,精细加工,建构意向,组织。 点击进入>>> 精英特记忆训练软件免费下载 科学的记忆方法相关 文章 : 1. 科学的记忆法 2. 科学的记忆方法有哪些 3. 科学快速的记忆秘诀 4. 提高记忆力的科学方法 5. 根据艾宾浩斯遗忘曲线制定科学记忆法 6. 几种提高记忆能力的方法 7. 大脑科学记忆训练法
2023-07-16 07:17:551

思科路由器设置VPDN的方法

思科路由器设置VPDN的方法   CCNA 重新认证:CCNA认证证书的时效性是三年。要重新更新证书,必须通过CCNA的"考试(如果通过的下一阶段CCNP的考试,CCNA认证证书会被自动更新)下面是我整理的关于思科路由器设置VPDN的方法,欢迎大家参考!   1 启用aaa new-model   aaa new-model   2、建立认证方式   aaa authentication ppp mytest local (这里为本地认证)   3、启用VPDN   vpdn enable   4、建立VPDN组   vpdn-group mytest   ! Default L2TP VPDN group   accept-dialin   protocol l2tp   virtual-template 1   local name mytest-name   lcp renegotiation always //注意非常重要,否则LCP不会自协商,那么路由器的MTU值一定要和对方LAC发过来的要匹配,否则LCP失败   l2tp tunnel password 7 00090A1201481F   source-ip x.x.x.x   5、建立IP 本地POOL   ip local pool mytest-01 172.23.1.2 172.23.1.254   6、配置虚模板   interface Virtual-Template1   ip address 172.23.1.1 255.255.255.0   peer default ip address pool mytest-01   ppp authentication pap mytest   5200g   domain qh.org   authentication-scheme vpdn_none   accounting-scheme vpdn_none   l2tp-group qh.org   l2tp-group qh.org   tunnel password simple mytest   tunnel name mytest   start l2tp ip x.x.x.x   tunnel source LoopBack0   附:L2TP协议结构   1、IP包头 20字节   2、UDP报头 8字节   3、L2TP报头 12字节:包括:   1)the version and flag fields (2 bytes)   2)the tunnel id and session id fields (2 bytes each)   3)2 bytes of padding offset   4)4 bytes of Point-to-Point Protocol (PPP) encapsulation   //以下是没有启用LCP自协商的DEBUG 连接失败   Jul 25 00:03:48.084: Vi1 VPDN: Virtual interface created for qh@qh.org   Jul 25 00:03:48.084: Vi1 PPP: Phase is DOWN, Setup   Jul 25 00:03:48.084: Vi1 VPDN: Clone from Vtemplate 1 filterPPP=0 blocking   Jul 25 00:03:48.204: %LINK-3-UPDOWN: Interface Virtual-Access1, changed state to up   Jul 25 00:03:48.204: Vi1 PPP: Using set call direction   Jul 25 00:03:48.204: Vi1 PPP: Treating connection as a callin   Jul 25 00:03:48.204: Vi1 PPP: Phase is ESTABLISHING, Passive Open   Jul 25 00:03:48.204: Vi1 LCP: State is Listen   Jul 25 00:03:48.204: Vi1 VPDN: Bind interface direction=2   Jul 25 00:03:48.204: Vi1 LCP: I FORCED CONFREQ len 14   Jul 25 00:03:48.204: Vi1 LCP: MRU 1492 (0x010405D4)   Jul 25 00:03:48.204: Vi1 LCP: AuthProto PAP (0x0304C023)   Jul 25 00:03:48.204: Vi1 LCP: MagicNumber 0x01022143 (0x050601022143)   Jul 25 00:03:48.204: Vi1 VPDN: PPP LCP accepted rcv CONFACK   Jul 25 00:03:48.204: Vi1 LCP: I FORCED CONFACK len 10   Jul 25 00:03:48.204: Vi1 LCP: MRU 1480 (0x010405C8)   Jul 25 00:03:48.204: Vi1 LCP: MagicNumber 0x082D5DCE (0x0506082D5DCE)   Jul 25 00:03:48.204: Vi1 VPDN: PPP LCP not accepting sent CONFACK   Jul 25 00:03:48.204: Vi1 VPDN: Unbind interface   Jul 25 00:03:48.296: Vi1 PPP: No remote authentication for call-in   Jul 25 00:03:48.560: Vi1 PPP: Missed link down notification   Jul 25 00:03:48.560: Vi1 LCP: State is Closed ;
2023-07-16 07:18:151

给几首重低音很强的英文歌曲 要非常震撼的

Ave Maria
2023-07-16 07:18:247

resize2fs: 超级块中的幻数有错(Bad magic number in super-block )

问题: lvm创建的逻辑卷,在使用lvextend扩容之后,df看并不会有变化,通常我们需要resize2fs让他重新调整下 在使用resize2fs调整时报错: resize2fs: 超级块中的幻数有错 或 Bad magic number in super-block 解决办法: xfs_growfs
2023-07-16 07:18:391

Ubuntu无法启动了,急求

我自己改的你试一下localhost cron # cat /boot/grub/menu.lst timeout 5 default 0 color light-blue/black light-cyan/blue title Gentoo root (hd0,3) kernel /boot/linux-2.6.23-r3 loglevel=0 vga=792 root=/dev/sda4 title Windows rootnoverify (hd0,0) makeactive chainloader +1
2023-07-16 07:18:473

matlab如何读取raw数据

% 网上找的,看下有没有用function [X,map] = rawread(filename,n,m);% RAWREAD Read a Portable Bitmap file, or a raw file.% RAWREAD("imagefile.raw", xsize, ysize) reads a "raw" image file% RAWREAD("imagefile.pgm") reads a "pgm" (portable gray map) image% [X,map] = RAWREAD("imagefile.raw") returns both the image and a% color map, so that% [X,map] = rawread("imagefile.raw",sx,sy);% or [X,map] = rawread("imagefile.pgm");% image(X)% colormap(map)% will display the result with the proper colors.%% NOTE : map is optional and could be replaced during the display by% the "colormap("gray")" command%% See also IMWRITE, IMREAD, IMAGE, COLORMAP.dot = max(find(filename == "."));suffix = filename(dot+1:dot+3);if strcmp(suffix,"pgm") | strcmp(suffix,"raw") disp(sprintf("nopens %s filen",filename)); fp = fopen(filename,"rb","b"); % "Big-endian" byte order. if (fp<0) error(["Cannot open " filename "."]); end if strcmp(suffix,"pgm") % Read and crack the header head = fread(fp,2,"uchar"); % pgm magic number : P5 if ~strcmp(head,"P5"), fprintf(1,"n Magic Number : %sn",head); else fprintf(1,"n Bad Magic Number : %sn",head); error("cannot continue this way, good bye cruel world"); end c = fread(fp,1,"uchar"); %reads the carriage return separating P5 from the creator precreator = fread(fp,1,"uchar"); % look for a "#" character preceeding a creator signature if precreator == "#", c = setstr(20); % any character except carriage return cr = setstr(10); % defines a carriage return while c ~= cr, c = fread(fp,1,"uchar"); creator = [creator,c]; end; fprintf(1,"n creator : %sn",creator); else fprintf("n No creator signaturen"); fseek(fp,-1,"cof"); % return one char before end;end if nargin <2, if strcmp(suffix,"raw") % assume image size is 256x256 disp("RAW file without size : assume image size is 256x256"); n = 256; m = 256; else % for PGM files % reads the size and depth disp(" reads sizes"); n = fscanf(fp,"%d",1); tn = num2str(n); disp([" xsize = " tn]); m = fscanf(fp,"%d",1); tm = num2str(m); disp([" ysize = " tm]); p = fscanf(fp,"%d",1); tp = num2str(p); disp([" depth = " tp]); c = fread(fp,1,"uchar"); %reads the last carriage return end; end % Creates a gray palette and scale it to [0,1]. disp(" create gray palette"); for i=1:256, map(i,[1:3])=[i/256,i/256,i/256]; end;% Read the image disp(" Reads image data ..."); [X,l] = fread(fp,[n,m],"uchar"); if l ~= m*n, l, error("HSI image file is wrong length"), end % Image elements are colormap indices, so start at 1. X = X"+1; fclose(fp); disp("end");else error("Image file name must end in ""raw"" or ""pgm"".")end
2023-07-16 07:18:562

谁知道好听的HIPHOP音乐啊?

周杰伦的中国风系列三角链东郭先生我只想喝个烂醉醉红尘爱若成分一些经典老歌:陌上归人似是故人来风雨同路爱的故事上集余情未了总有你鼓励携手游人间更多老歌:大漠老歌网和老歌网有很多一些不错的轻音乐:宗次郎的:故乡原风景超好听漫步神秘园
2023-07-16 07:19:058

谁能把炎亚纶部落格的网址告诉我

顺便也告诉我,我的邮箱dividbut@qq.com
2023-07-16 07:19:207

ioctl()函数的参数和作用

ioctl 接口大部分驱动需要 -- 除了读写设备的能力 -- 通过设备驱动进行各种硬件控制的能力. 大部分设备可进行超出简单的数据传输之外的操作; 用户空间必须常常能够请求, 例如, 设备锁上它的门, 弹出它的介质, 报告错误信息, 改变波特率, 或者自我销毁. 这些操作常常通过 ioctl 方法来支持, 它通过相同名子的系统调用来实现.在用户空间, ioctl 系统调用有下面的原型:int ioctl(int fd, unsigned long cmd, ...); 这个原型由于这些点而凸现于 Unix 系统调用列表, 这些点常常表示函数有数目不定的参数. 在实际系统中, 但是, 一个系统调用不能真正有变数目的参数. 系统调用必须有一个很好定义的原型, 因为用户程序可存取它们只能通过硬件的"门". 因此, 原型中的点不表示一个变数目的参数, 而是一个单个可选的参数, 传统上标识为 char *argp. 这些点在那里只是为了阻止在编译时的类型检查. 第 3 个参数的实际特点依赖所发出的特定的控制命令( 第 2 个参数 ). 一些命令不用参数, 一些用一个整数值, 以及一些使用指向其他数据的指针. 使用一个指针是传递任意数据到 ioctl 调用的方法; 设备接着可与用户空间交换任何数量的数据.ioctl 调用的非结构化特性使它在内核开发者中失宠. 每个 ioctl 命令, 基本上, 是一个单独的, 常常无文档的系统调用, 并且没有方法以任何类型的全面的方式核查这些调用. 也难于使非结构化的 ioctl 参数在所有系统上一致工作; 例如, 考虑运行在 32-位模式的一个用户进程的 64-位 系统. 结果, 有很大的压力来实现混杂的控制操作, 只通过任何其他的方法. 可能的选择包括嵌入命令到数据流(本章稍后我们将讨论这个方法)或者使用虚拟文件系统, 要么是 sysfs 要么是设备特定的文件系统. (我们将在 14 章看看 sysfs). 但是, 事实是 ioctl 常常是最容易的和最直接的选择,对于真正的设备操作.ioctl 驱动方法有和用户空间版本不同的原型:int (*ioctl) (struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg);inode 和 filp 指针是对应应用程序传递的文件描述符 fd 的值, 和传递给 open 方法的相同参数. cmd 参数从用户那里不改变地传下来, 并且可选的参数 arg 参数以一个 unsigned long 的形式传递, 不管它是否由用户给定为一个整数或一个指针. 如果调用程序不传递第 3 个参数, 被驱动操作收到的 arg 值是无定义的. 因为类型检查在这个额外参数上被关闭, 编译器不能警告你如果一个无效的参数被传递给 ioctl, 并且任何关联的错误将难以查找.如果你可能想到的, 大部分 ioctl 实现包括一个大的 switch 语句来根据 cmd 参数, 选择正确的做法. 不同的命令有不同的数值, 它们常常被给予符号名来简化编码. 符号名通过一个预处理定义来安排. 定制的驱动常常声明这样的符号在它们的头文件中; scull.h 为 scull 声明它们. 用户程序必须, 当然, 包含那个头文件来存取这些符号.1. 选择 ioctl 命令在为 ioctl 编写代码之前, 你需要选择对应命令的数字. 许多程序员的第一个本能的反应是选择一组小数从0或1开始, 并且从此开始向上. 但是, 有充分的理由不这样做. ioctl 命令数字应当在这个系统是唯一的, 为了阻止向错误的设备发出正确的命令而引起的错误. 这样的不匹配不会不可能发生, 并且一个程序可能发现它自己试图改变一个非串口输入系统的波特率, 例如一个 FIFO 或者一个音频设备. 如果这样的 ioctl 号是唯一的, 这个应用程序得到一个 EINVAL 错误而不是继续做不应当做的事情.为帮助程序员创建唯一的 ioctl 命令代码, 这些编码已被划分为几个位段. Linux 的第一个版本使用 16-位数: 高 8 位是关联这个设备的"魔"数, 低 8 位是一个顺序号, 在设备内唯一. 这样做是因为 Linus 是"无能"的(他自己的话); 一个更好的位段划分仅在后来被设想. 不幸的是, 许多驱动仍然使用老传统. 它们不得不: 改变命令编码会破坏大量的二进制程序,并且这不是内核开发者愿意见到的.根据 Linux 内核惯例来为你的驱动选择 ioctl 号, 你应当首先检查 include/asm/ioctl.h 和 Documentation/ioctl-number.txt. 这个头文件定义你将使用的位段: type(魔数), 序号, 传输方向, 和参数大小. ioctl-number.txt 文件列举了在内核中使用的魔数,[20] 因此你将可选择你自己的魔数并且避免交叠. 这个文本文件也列举了为什么应当使用惯例的原因.定义 ioctl 命令号的正确方法使用 4 个位段, 它们有下列的含义. 这个列表中介绍的新符号定义在 <linux/ioctl.h>.type 魔数. 只是选择一个数(在参考了 ioctl-number.txt之后)并且使用它在整个驱动中. 这个成员是 8 位宽(_IOC_TYPEBITS). number 序(顺序)号. 它是 8 位(_IOC_NRBITS)宽. direction 数据传送的方向,如果这个特殊的命令涉及数据传送. 可能的值是 _IOC_NONE(没有数据传输), _IOC_READ, _IOC_WRITE, 和 _IOC_READ|_IOC_WRITE (数据在2个方向被传送). 数据传送是从应用程序的观点来看待的; _IOC_READ 意思是从设备读, 因此设备必须写到用户空间. 注意这个成员是一个位掩码, 因此 _IOC_READ 和 _IOC_WRITE 可使用一个逻辑 AND 操作来抽取.size 涉及到的用户数据的大小. 这个成员的宽度是依赖体系的, 但是常常是 13 或者 14 位. 你可为你的特定体系在宏 _IOC_SIZEBITS 中找到它的值. 你使用这个 size 成员不是强制的 - 内核不检查它 -- 但是它是一个好主意. 正确使用这个成员可帮助检测用户空间程序的错误并使你实现向后兼容, 如果你曾需要改变相关数据项的大小. 如果你需要更大的数据结构, 但是, 你可忽略这个 size 成员. 我们很快见到如何使用这个成员.头文件 <asm/ioctl.h>, 它包含在 <linux/ioctl.h> 中, 定义宏来帮助建立命令号, 如下: _IO(type,nr)(给没有参数的命令), _IOR(type, nre, datatype)(给从驱动中读数据的), _IOW(type,nr,datatype)(给写数据), 和 _IOWR(type,nr,datatype)(给双向传送). type 和 number 成员作为参数被传递, 并且 size 成员通过应用 sizeof 到 datatype 参数而得到.这个头文件还定义宏, 可被用在你的驱动中来解码这个号: _IOC_DIR(nr), _IOC_TYPE(nr), _IOC_NR(nr), 和 _IOC_SIZE(nr). 我们不进入任何这些宏的细节, 因为头文件是清楚的, 并且在本节稍后有例子代码展示.这里是一些 ioctl 命令如何在 scull 被定义的. 特别地, 这些命令设置和获得驱动的可配置参数./* Use "k" as magic number */#define SCULL_IOC_MAGIC "k"/* Please use a different 8-bit number in your code */#define SCULL_IOCRESET _IO(SCULL_IOC_MAGIC, 0)/** S means "Set" through a ptr,* T means "Tell" directly with the argument value* G means "Get": reply by setting through a pointer* Q means "Query": response is on the return value* X means "eXchange": switch G and S atomically* H means "sHift": switch T and Q atomically*/#define SCULL_IOCSQUANTUM _IOW(SCULL_IOC_MAGIC, 1, int)#define SCULL_IOCSQSET _IOW(SCULL_IOC_MAGIC, 2, int)#define SCULL_IOCTQUANTUM _IO(SCULL_IOC_MAGIC, 3)#define SCULL_IOCTQSET _IO(SCULL_IOC_MAGIC, 4)#define SCULL_IOCGQUANTUM _IOR(SCULL_IOC_MAGIC, 5, int)#define SCULL_IOCGQSET _IOR(SCULL_IOC_MAGIC, 6, int)#define SCULL_IOCQQUANTUM _IO(SCULL_IOC_MAGIC, 7)#define SCULL_IOCQQSET _IO(SCULL_IOC_MAGIC, 8)#define SCULL_IOCXQUANTUM _IOWR(SCULL_IOC_MAGIC, 9, int)#define SCULL_IOCXQSET _IOWR(SCULL_IOC_MAGIC,10, int)#define SCULL_IOCHQUANTUM _IO(SCULL_IOC_MAGIC, 11)#define SCULL_IOCHQSET _IO(SCULL_IOC_MAGIC, 12)#define SCULL_IOC_MAXNR 14真正的源文件定义几个额外的这里没有出现的命令.我们选择实现 2 种方法传递整数参数: 通过指针和通过明确的值(尽管, 由于一个已存在的惯例, ioclt 应当通过指针交换值). 类似地, 2 种方法被用来返回一个整数值:通过指针和通过设置返回值. 这个有效只要返回值是一个正的整数; 如同你现在所知道的, 在从任何系统调用返回时, 一个正值被保留(如同我们在 read 和 write 中见到的), 而一个负值被看作一个错误并且被用来在用户空间设置 errno.[21]"exchange"和"shift"操作对于 scull 没有特别的用处. 我们实现"exchange"来显示驱动如何结合独立的操作到单个的原子的操作, 并且"shift"来连接"tell"和"query". 有时需要象这样的原子的测试-和-设置操作, 特别地, 当应用程序需要设置和释放锁.命令的明确的序号没有特别的含义. 它只用来区分命令. 实际上, 你甚至可使用相同的序号给一个读命令和一个写命令, 因为实际的 ioctl 号在"方向"位是不同的, 但是你没有理由这样做. 我们选择在任何地方不使用命令的序号除了声明中, 因此我们不分配一个返回值给它. 这就是为什么明确的号出现在之前给定的定义中. 这个例子展示了一个使用命令号的方法, 但是你有自由不这样做.除了少数几个预定义的命令(马上就讨论), ioctl 的 cmd 参数的值当前不被内核使用, 并且在将来也很不可能. 因此, 你可以, 如果你觉得懒, 避免前面展示的复杂的声明并明确声明一组调整数字. 另一方面, 如果你做了, 你不会从使用这些位段中获益, 并且你会遇到困难如果你曾提交你的代码来包含在主线内核中. 头文件<linux/kd.h> 是这个老式方法的例子, 使用 16-位的调整值来定义 ioctl 命令. 那个源代码依靠调整数因为使用那个时候遵循的惯例, 不是由于懒惰. 现在改变它可能导致无理由的不兼容.2. 返回值ioctl 的实现常常是一个 switch 语句, 基于命令号. 但是当命令号没有匹配一个有效的操作时缺省的选择应当是什么? 这个问题是有争议的. 几个内核函数返回 -ENIVAL("Invalid argument"), 它有意义是因为命令参数确实不是一个有效的. POSIX 标准, 但是, 说如果一个不合适的 ioctl 命令被发出, 那么 -ENOTTY 应当被返回. 这个错误码被 C 库解释为"设备的不适当的 ioctl", 这常常正是程序员需要听到的. 然而, 它仍然是相当普遍的来返回 -EINVAL, 对于响应一个无效的 ioctl 命令.3. 预定义的命令尽管 ioctl 系统调用最常用来作用于设备, 内核能识别几个命令. 注意这些命令, 当用到你的设备时, 在你自己的文件操作被调用之前被解码. 因此, 如果你选择相同的号给一个你的 ioctl命令, 你不会看到任何的给那个命令的请求, 并且应用程序获得某些不期望的东西, 因为在 ioctl 号之间的冲突.预定义命令分为 3 类:可对任何文件发出的(常规, 设备, FIFO, 或者 socket) 的那些.只对常规文件发出的那些.对文件系统类型特殊的那些.最后一类的命令由宿主文件系统的实现来执行(这是 chattr 命令如何工作的). 设备驱动编写者只对第一类命令感兴趣, 它们的魔数是 "T". 查看其他类的工作留给读者作为练习; ext2_ioctl 是最有趣的函数(并且比预期的要容易理解), 因为它实现 append-only 标志和 immutable 标志.下列 ioctl 命令是预定义给任何文件, 包括设备特殊的文件:FIOCLEX 设置 close-on-exec 标志(File IOctl Close on EXec). 设置这个标志使文件描述符被关闭, 当调用进程执行一个新程序时.FIONCLEX 清除 close-no-exec 标志(File IOctl Not CLose on EXec). 这个命令恢复普通文件行为, 复原上面 FIOCLEX 所做的. FIOASYNC 为这个文件设置或者复位异步通知(如同在本章中"异步通知"一节中讨论的). 注意直到 Linux 2.2.4 版本的内核不正确地使用这个命令来修改 O_SYNC 标志. 因为两个动作都可通过 fcntl 来完成, 没有人真正使用 FIOASYNC 命令, 它在这里出现只是为了完整性.FIOQSIZE 这个命令返回一个文件或者目录的大小; 当用作一个设备文件, 但是, 它返回一个 ENOTTY 错误.FIONBIO "File IOctl Non-Blocking I/O"(在"阻塞和非阻塞操作"一节中描述). 这个调用修改在 filp->f_flags 中的 O_NONBLOCK 标志. 给这个系统调用的第 3 个参数用作指示是否这个标志被置位或者清除. (我们将在本章看到这个标志的角色). 注意常用的改变这个标志的方法是使用 fcntl 系统调用, 使用 F_SETFL 命令.列表中的最后一项介绍了一个新的系统调用, fcntl, 它看来象 ioctl. 事实上, fcntl 调用非常类似 ioctl, 它也是获得一个命令参数和一个额外的(可选地)参数. 它保持和 ioctl 独立主要是因为历史原因: 当 Unix 开发者面对控制 I/O 操作的问题时, 他们决定文件和设备是不同的. 那时, 有 ioctl 实现的唯一设备是 ttys, 它解释了为什么 -ENOTTY 是标准的对不正确 ioctl 命令的回答. 事情已经改变, 但是 fcntl 保留为一个独立的系统调用.4. 使用 ioctl 参数在看 scull 驱动的 ioctl 代码之前, 我们需要涉及的另一点是如何使用这个额外的参数. 如果它是一个整数, 就容易: 它可以直接使用. 如果它是一个指针, 但是, 必须小心些.当用一个指针引用用户空间, 我们必须确保用户地址是有效的. 试图存取一个没验证过的用户提供的指针可能导致不正确的行为, 一个内核 oops, 系统崩溃, 或者安全问题. 它是驱动的责任来对每个它使用的用户空间地址进行正确的检查, 并且返回一个错误如果它是无效的.在第 3 章, 我们看了 copy_from_user 和 copy_to_user 函数, 它们可用来安全地移动数据到和从用户空间. 这些函数也可用在 ioctl 方法中, 但是 ioctl 调用常常包含小数据项, 可通过其他方法更有效地操作. 开始, 地址校验(不传送数据)由函数 access_ok 实现, 它定义在 <asm/uaccess.h>:int access_ok(int type, const void *addr, unsigned long size); 第一个参数应当是 VERIFY_READ 或者 VERIFY_WRITE, 依据这个要进行的动作是否是读用户空间内存区或者写它. addr 参数持有一个用户空间地址, size 是一个字节量. 例如, 如果 ioctl 需要从用户空间读一个整数, size 是 sizeof(int). 如果你需要读和写给定地址, 使用 VERIFY_WRITE, 因为它是 VERIRY_READ 的超集.不象大部分的内核函数, access_ok 返回一个布尔值: 1 是成功(存取没问题)和 0 是失败(存取有问题). 如果它返回假, 驱动应当返回 -EFAULT 给调用者.关于 access_ok有多个有趣的东西要注意. 首先, 它不做校验内存存取的完整工作; 它只检查看这个内存引用是在这个进程有合理权限的内存范围中. 特别地, access_ok 确保这个地址不指向内核空间内存. 第2, 大部分驱动代码不需要真正调用 access_ok. 后面描述的内存存取函数为你负责这个. 但是, 我们来演示它的使用, 以便你可见到它如何完成.scull 源码利用了 ioclt 号中的位段来检查参数, 在 switch 之前:int err = 0, tmp;int retval = 0;/** extract the type and number bitfields, and don"t decode* wrong cmds: return ENOTTY (inappropriate ioctl) before access_ok()*/if (_IOC_TYPE(cmd) != SCULL_IOC_MAGIC) return -ENOTTY;if (_IOC_NR(cmd) > SCULL_IOC_MAXNR) return -ENOTTY;/** the direction is a bitmask, and VERIFY_WRITE catches R/W* transfers. `Type" is user-oriented, while* access_ok is kernel-oriented, so the concept of "read" and* "write" is reversed*/if (_IOC_DIR(cmd) & _IOC_READ) err = !access_ok(VERIFY_WRITE, (void __user *)arg, _IOC_SIZE(cmd));else if (_IOC_DIR(cmd) & _IOC_WRITE) err = !access_ok(VERIFY_READ, (void __user *)arg, _IOC_SIZE(cmd));if (err) return -EFAULT;在调用 access_ok 之后, 驱动可安全地进行真正的传输. 加上 copy_from_user 和 copy_to_user_ 函数, 程序员可利用一组为被最多使用的数据大小(1, 2, 4, 和 8 字节)而优化过的函数. 这些函数在下面列表中描述, 它们定义在 <asm/uaccess.h>:put_user(datum, ptr) __put_user(datum, ptr) 这些宏定义写 datum 到用户空间; 它们相对快, 并且应当被调用来代替 copy_to_user 无论何时要传送单个值时. 这些宏已被编写来允许传递任何类型的指针到 put_user, 只要它是一个用户空间地址. 传送的数据大小依赖 prt 参数的类型, 并且在编译时使用 sizeof 和 typeof 等编译器内建宏确定. 结果是, 如果 prt 是一个 char 指针, 传送一个字节, 以及对于 2, 4, 和 可能的 8 字节.put_user 检查来确保这个进程能够写入给定的内存地址. 它在成功时返回 0, 并且在错误时返回 -EFAULT. __put_user 进行更少的检查(它不调用 access_ok), 但是仍然能够失败如果被指向的内存对用户是不可写的. 因此, __put_user 应当只用在内存区已经用 access_ok 检查过的时候.作为一个通用的规则, 当你实现一个 read 方法时, 调用 __put_user 来节省几个周期, 或者当你拷贝几个项时, 因此, 在第一次数据传送之前调用 access_ok 一次, 如同上面 ioctl 所示.get_user(local, ptr) __get_user(local, ptr) 这些宏定义用来从用户空间接收单个数据. 它们象 put_user 和 __put_user, 但是在相反方向传递数据. 获取的值存储于本地变量 local; 返回值指出这个操作是否成功. 再次, __get_user 应当只用在已经使用 access_ok 校验过的地址.如果做一个尝试来使用一个列出的函数来传送一个不适合特定大小的值, 结果常常是一个来自编译器的奇怪消息, 例如"coversion to non-scalar type requested". 在这些情况中, 必须使用 copy_to_user 或者 copy_from_user.
2023-07-16 07:19:373

C语言中 什么是"magic number"

个人理解,"magic number"可顾名思义:魔法般突然出现意义不明的数字。编程过程中按照需要往往会引入一些常数,比如某个for语句需要十次循环,可能会出现i<10的写法,这个10就是突然出现意义不明的数字。"magic number"的坏处:阅读程序的人往往无法理解为什么突然出现一个10,也有可能会将此处的10与出现在其他地方的带有不同意义的10混为一谈;或者在修改程序的时候容易导致多处的10需要修改。所以为了避免"magic number"出现,经常在一开头就用#define 大写字母 常数 (例如:#defind PI 3.14)的格式给"magic number"取一个代号,使用时输入代号即可。方便读者理解和程序的修改。
2023-07-16 07:19:572

magic number 在编程中是什么意思?

magicnumber:魔法数.指不知道干什么的数.没有说明来源/原因的数.这样的数,我们纯看这一行代码,是无法判断其含义的。必须要去上下文中找,才能发现其具体意义。这样的代码可读性不好。具体看《C语言陷阱》就好啦,祝你好运
2023-07-16 07:20:061

C语言中 什么是"magic number"

magicnumber有如下四种解释:使用#define定义的常量在算法中以非显式的方式保存了关键信息的数字。(典型例子是哈希函数)在文件头特定位置存放的表示文件类型的数据。导致边界条件的输入。(例如Y2K问题)第四种情况,所遇不多,在这里不加赘述。以下主要结合我在实际应用中遇到的一些例子来对前三种情况加以阐述。第一种情况最为普遍。以Linux内核代码为例,大量的头文件中,使用#define定义的常量随处可见。摘录一段代码供大家参考。中文一般翻译为魔数,或幻数不好意思,我也是从百度搜来的说一下我的理解吧,如#defindPI3.14PI就是magicnumer
2023-07-16 07:20:151

每种文件类型都有其自己的magic number用来判断文件类型吗

每种文件类型都有其自己的magic number用来判断文件类型我自己的认识是,magic number也就是魔数,一般是一个用来和其他同类数据进行区别的方式。两个例子:1.ELF文件的头部,前4个字节是魔数。这个常用于识别文件类型等。linux上,二进制的可执行文件的前四个字节是7f45,而在AIX上,二进制可执行文件的前四个字节是0x01df。2.内核程序中,给一些 IO 操作进行编号时,也会用到模数,专门有一个宏定义会根据你给出的模数和简单编号,生成新的编号,这个编号在内部使用,它会保证不会出现重复的情况。
2023-07-16 07:20:221

bad magic number 是什么错误哦

启动移植的内核错误boot1.2中的bootcmd参数,u-boot1.3.1 bootm却不能引导,报bad magic number,看了bootm的相关资料,得知,如果我们没用mkimage对内核进行处理的话,那直接把内核下载到0x30008000再运行就行,内 核会自解压运行(不过内核运行需要一个tag来传递参数,而这个tag建议是由bootloader提供的,在u-boot下默认是由bootm命令建立 的)。 2)如果使用mkimage生成内核镜像档的话,会在内核的前头加上了64byte的资讯,供建立tag之用。bootm命令会首先判断bootm xxxx 这个指定的位址xxxx是否与-a指定的载入位址相同。(1)如果不同的话会从这个位址开始提取出这个64byte的头部,对其进行分析,然後把去掉头部 的内核复制到-a指定的load地址中去运行之(2)如果相同的话那就让其原封不同的放在那,但-e指定的入口地址会推後64byte,以跳过这 64byte的头部。Bootm在没有参数时,是采用rat2440.h中的#define CFG_LOAD_ADDR 的位址的,而我用bootm就是没有使用参数,所以出错了。正确的做法应该是用nand read命令将内核从nand flash中读到记忆体的某一位址中(注意不要与其他已分配的记忆体冲突),然後再用bootm 加位址参数,即可引导,也可以在上述的档中,将CFG_LOAD_ADDR的位址定义为此位址,再用bootm就可以了.我设定bootcmd环境变数为 tftp 0x31000000 uImage; bootm 0x31000000,注意位址不能为0x30008000,否则报错
2023-07-16 07:20:311

Three Is A Magic Number 歌词

Three is a magic number歌手:various artistsLyrics & Music by: Bob DoroughPerformed by: Bob DoroughThree is a magic number,Yes it is, it"s a magic number.Somewhere in the ancient, mystic trinityYou get three as a magic number.The past and the present and the future.Faith and Hope and Charity,The heart and the brain and the body,Give you three as a magic number.It takes three legs to make a tripodOr to make a table stand.It takes three wheels to make a vehicleCalled a tricycle.Various ArtistsEvery triangle has three corners,Every triangle has three sides,No more, no less.You don"t have to guess.When it"s three, you can seeIt"s a magic number.A man and a woman had a little baby,Yes, they did.They had three in the family,And that"s a magic number.3-6-9, 12-15-18, 21-24-27, 30.3-6-9, 12-15-18, 21-24-27, 30.Now the Multiples of 3come up three times in each set of 10.3 x 10 is 30, 3 x 9 is 27, 3 x 8 is 24, 3 x 7 is 21,3 x 6 is 18, 3 x 5 is 15, 3 x 4 is 12,And 3 x 3 is 9, and 3 x 2 is 6,And 3 x 1 is 3 of course.Now dig the pattern once more:3-6-912-15-183 x 10 is 30, 3 x 9 is 27, 3 x 8 is 24,3 x 7 is 21, 3 x 6 is 18, 3 X 5 is 15, 3 x 4 is 12,And 3 x 3 is 9, and 3 X 2 is 6.And 3 x 1 ...What is it?!Three!Yeah.A man and a woman had a little baby,They had three in the family,That"s a magic number.http://music.baidu.com/song/7956241
2023-07-16 07:20:381

腾讯街头篮球手游有一首歌男的先唱的然后女的接着唱的叫什么歌?

(Saatan) The Magic Number(Pe2ny) Pressin,名字啊什么的都要改成一模一样.如果听腻了的话 也可以尝试自己修改音乐你将你喜欢的音乐(mp3)的属性改为与街球自带的音乐(mp3)属性一样(位置在E?让街头篮球带给你无穷快乐吧。记住要挑一些大小差不多的,还有“摘要”可以改的都改成一样;超级斗牛..:IN YOUR FACE(P-TYPE) Here Comes the King(Saatan)Run Gun(Mr!不妨在游戏中感觉一下;t Hate the Player(Pe2ny)Neva lose (main theme) - Joosuc 街头篮球的主题音乐!;sound).. Sync) Don!!Back street - Musai 只听音乐你也可以感觉到街头篮球 Wheel bug - Musai 只听音乐你也可以感觉到街头篮球 Gambler of the court - Musai 动感的旋律! 来~来~来~,那就是我!自由就是唯一规则。为了避免其他损失,享受着街头篮球? Sunset beach - Joosuc 在烈日骄阳下的海边. Get funky - Joosuc 准备好了吗,超级酷音乐! Old skool - Joosuc 贝斯的超低旋律:.! Freestyle - Joosuc 自由.!,球场上矫健身影!! Soft baketgirl - Musai 好可爱的街头篮球美少女,属性要改成一模一样!那就是篮球的音乐~ Da Da Da - Musai 大家一起来吧! City of mine - Joosuc 欢快的城市下午. Sync) Body Movin!!,然后覆盖就行.,你感觉到了吗; (Club Mix) [Remixed b(Basick) Street Ball Challanges(Deletis) Street Jazz(Mr;街头篮球大联盟!街头篮球的无穷魅力.End of the Game - Joosuc 一场游戏结束了.下一场让我们再继续,属性里面有“常规”选项主题曲歌名
2023-07-16 07:20:471

bad magic number 是什么错误哦

源文件后缀名不对
2023-07-16 07:20:552

ubuntu python bad magic number in pyc怎么办

需要将xxx.py文件Copy过来即可,会自动编译成.pyc就是报错对应的py文件
2023-07-16 07:21:041

现在FM88.7热播的欧美歌曲有哪些

最伟大的100首Hip-Hop单曲 Eminem is at #10 with "Stan", #50 with "The Way I Am" and #94 with "The real slim shady" and 50 Cent is @ #29 with "In Da Club" . Heres the full list: 1. White Lines (Don"t Do It) - Grandmaster Flash & The Furious Five 2. Walk This Way - Run DMC & Aerosmith 3. Rappers Delight - Sugar Hill Gang 4. Fight The Power - Public Enemy 5. Fight For Your Right - Beastie Boys 6. Gangsta"s Paradise - Coolio 7. Planet Rock - Afrika Bambatta 8. The Message - Grandmaster Flash & The Furious Five 9. Killing Me Softly - The Fugees 10. Stan - Eminem 11. I"ll Be Missing You - Puff Daddy 12. California Love - 2Pac 13. Cop Killa - Ice T 14. The Rain (Supa Dupa Fly) - Missy Elliott 15. I Need Love - LL Cool J 16. Doo Wop (That Thing) - Lauryn Hill 17. Push It - Salt-N-Pepa 18. Mama Said Knock You Out - LL Cool J 19. Ms. Jackson - Outkast 20. Work It - Missy Elliott 21. Nuthin But A "G" Thang. Dr. Dre 22. People Everyday - Arrested Development 23. 99 Problems - Jay Z 24. Crossroads - Bone Thugs-N-Harmony 25. Mo Money Mo Problems - Notorious B.I.G. 26. Summertime - DJ Jazzy Jeff & The Fresh Prince 27. Country Grammer - Nelly 28. Gin & Juice - Snoop Dogg & Dr. Dre 29. In Da Club - 50 Cent 30. Stop The Violence Movement - Self Destruction 31. Hey Ya - Outkast 32. Everything Is Everything - Lauryn Hill 33. Mind"s Playing Tricks On Me - Geto Boys 34. Looking For The Perfect Beat - Afrika Bambatta 35. No Sleep Till Brooklyn - Beastie Boys 36. Big Poppa - Notorious B.I.G. 37. U-N-I-T-Y. Queen Latifah 38. It"s Tricky - Run DMC 39. I used to love h.e.r. - Common 40. Gettin Jiggy Wit It - Will Smith 41. Excursion - A Tribe Called Quest 42. Black Steel In the Hour of Chaos - Public Enemy 43. Baby Got Back - Sir Mix-A-Lot 44. Real Love - Mary J. Blige 45. The Magic Number - De La Soul 46. Hard Knock Life - Jay Z 47. Straight Outta Compton - N.W.A. 48. Bridge is Over - Boogie Down Productions 49. On and On - Erykah Badu 50. The Way I Am - Eminem 51. Rock Box - Run DMC 52. New Jack Hustler - Ice-T 53. One Minute Man - Missy Elliott 54. Me, Myself and I - De La Soul 55. We"re All In The Same Gang - West Coast Rap All-Stars 56. Hot In Herre - Nelly 57. My Adidas - Run DMC 58. Roxannes Revenge - Roxanne Shante 59. AmeriKKKa"s Most Wanted - Ice Cube 60. Say No Go - De La Soul 61. Just A Friend - Biz Markie 62. One More Chance - Notorious B.I.G. 63. Funkee Ko Medina - Tone Loc 64. Rebel Without A Pause - Public Enemy 65. Love of My Life - Erykah Badu 66. Whatta Man - Salt-N-Pepa & En Vogue 67. I Know You Got Soul - Eric B. & Rakim 68. Creep - TLC 69. Childrens Story - Slick Rick 70. 2 Legit 2 Quit - MC Hammer 71. Brown Skin Lady - Mos Def 72. Welcome to the Terrordome - Public Enemy 73. Dear Mama - 2Pac 74. Woo-Ha!! Got You All In Check - Busta Rhymes 75. Big Pimpin" - Jay-Z 76. Bonita Applebum - A Tribe Called Quest 77. No More Drama - Mary J. Blige 78. Ready or Not - The Fugees 79. Jesus Walks - Kanye West 80. Love Is Blind - Eve 81. Lyte As A Rock - MC Lyte 82. Eye Know - De La Soul 83. Raw - Big Daddy Kane 84. It Was A Good Day - Ice Cube 85. Parents Just Don"t Understand - DJ Jazzy Jeff & The Fresh Prince 86. Scenario - A Tribe Called Quest 87. To Beat Ya"ll - Lady B 88. I"m Still Number One - Boogie Down Productions 89. Put Your Hands Where My Eyes Can See - Busta Rhymes 90. Bust A Move - Young MC 91. Don"t Sweat The Technique - Eric B. & Rakim 92. Freaks Come Out At Night - Whodini 93. Wild Thing - Tone Loc 94. The Real Slim Shady - Eminem 95. How Ya Like Me Now - Kool Moe Dee 96. C.R.E.A.M. - Wu Tang Clan 97. Boyz-N-The Hood. Eazy E 98. Vapors - Biz Markie 99. The Humpty Dance - Digital Underground 100. Express Yourself - N.W.A. 最伟大的100首摇滚单曲 01.Led Zeppelin - Stairway to Heaven 02.Van Halen - Eruption 03.Lynyrd Skynyrd - Free Bird 04.Pink Flyod - Comfortably Numb 05.Jimi Hendrix - All Along The Watch Tower 06.Guns n" Roses -November Rain 07.Metallica - One 08.Eagles - Hotel California 09.Ozzy Osbourne - Crazy Train 10.Cream - Crossroads 11.Jimi Hendrix - Voodoo Chile 12.Chuck Berry - Johnny b Goode 13.Stevie Ray Vaughan - Texas Flood 14.Eric Clapton - Layla 15.Pantera - Floods 16.Led Zeppelin - Heartbreaker 17.Eric Johnson - Cliffs of Dover 18.Jimi Hendrix - Little Wing 19.Deep Purple - Highway Star 20.Queen - Bohemian Rhapsody 21.Pink Floyd - Time 22.Dire Dtraits - Sultans of Swing 23.Ratm - Bulls on Parade 24.Mettalica - Fade to Black 25.Jetro Tull - Aqualung 26.Nirvana - Smells Like Teen spirit 27.Stevie Ray Vaughan - Pride and Joy 28.Ozzy Osbourne - Mr. Crowley 29.Steve Vai - For the Love of God 30.Joe Satriani - Surfing With The Alien 31.Ted Nuggent - Stranglehold 32.Jimi Hendrix - Machine Gun 33.B.B king - The Thrill Is Gone 34.Radiohead - Paranoid Android 35.Pantera - Cemetery Gates 36.Yngwie Malmsteen - Black Star 37.Guns n" Roses - Sweet Child OF Mine 38.Led Zeppelin - Whole Lotta Love 39.Neil Young - Cortez The Killer 40.Steely Dan - Reeling In the Years 41.Queen - Brighton Rock 42.Beatles - While My Guitar Gently Weeps 43.ZZ Top - Sharp Dressed Man 44.Pearl Jam - Alive 45.The Doors - Light My Fire 46.Van Halen - Hot For Teacher 47.The Allman Brothers Band - Jessica 48.The Rolling Stones - Sympathy For The Devil 49.Santana - Europa 50.Kiss - Shock Me 51.Metallica - Master of Puppets 52.Jimi Hendrix - Star Spangled Banner 53.Led Zeppelin - Since I"ve Been Loving You 54.Smashing Pumpkins - Geek USA 55.Joe Satriani - Satch Boogie 56.Black Sabath - War Pigs 57.Pantera - Walk 58.Eric Clapton - Cocaine 59.Ozzy Osbourne - No More Tears 60.The Kinks - You Really Got Me 61.Frank Zappa - Zoot Allures 62.Pink Floyd - Money 63.Soundgarden - Black Hole Son 64.Prince - Little Red Corvette 65.Nirvana - In Bloom 66.The Allman Brothers Band - Blue Sky 67.Michael Jackson - Beat It 68.Yes - Starship Trooper 69.Beatles - And Your Bird Can Sing 70.Jimi Hendrix - Purple Haze 71.Funkadelic - Maggot Brain 72.Aerosmith - Walk This Way 73.Phish - Stash 74.Deep Purple - Lazy 75.The Who - Won"t Get Fooled Again 76.Neil Young - Cinamon Girl 77.Alice in Chains - Man In The Box 78.Greatful Dead - Truckin 79.Van Halen - Mean Street 80.AC-DC - You Shook Me All Night Long 81.Lou Reed - Sweet Jane 82.King Crimson - 21st Century Schizoid Man 83.Stevie Ray Vaughn - Scuttle Buttin 84.Sublime - Santeria 85.David Bowie - Moonage Daydream 86.The Alman Brothers - Whipping Post 87.Living Colour - Cult of Personality 88.Steeley Dan - Kid Charlemagne 89.Rage Against the Machine - Killing In The Name 90.Eric Clapton - Let It Rain 91. Heart It Through The Grapev 92.Stray Cats - Stary Cat Strut 93.The Doors - The End 94.Rush - Working Man 95.Pearl Jam - Yellow Ledbetter 96.The Rolling Stones - Honky Tonk Women 97.Smashing Pumpkins - Cherub Rock 98.Dreamtheater - Under A Glass Moon 99.Jeff Beck - Cause We Ended As Lovers 100.Janes Addiction - Three Days 最伟大的100首英文歌曲 01.the beatles-yesterday 02.rolling stones-satisfaction 03.nirvana-smells like teen spirit 04.madonna-like a virgin 05.michael jackson-billie jean 06.the beatles-i want to hold your hand 07.aretha franklin-respect 08.u2-with or without you 09.the jackson-i want you back 10.backstreet boys-i want it that way 11.the eagles-hotel california 12.the supremes-where did our love go 13.guns n" roses-sweet child o" mine 14.the rolling stones-brown sugar 15.john lennon-imagine 16.sinead o connor-nothing compares to you 17.stevie wonder-superstition 18.r.e.m.-losing my religion 19.madonna-vogue 20.bob dylan-like a rolling stone 21.van morrison-brown eyed girl 22.michael jackson-beat it 23.roy orbison-oh, pretty woman 24.marvin gaye-what"s going on 25.britney spears-baby one more time 26.fleetwood mac-go your own way 27.prince-when doves cry 28.hanson-mmmbop 29.queen-bohemian rhapsody 30.elton john-your song 31.santanaf rob thomas-smooth 32.tis redding-the dock of the bay 33.the who-my generation 34.alanis morissette-ironic 35.bruce springsteen-born to run 36.tlc-waterfalls 37.o.p.p.-naughty by nature 38.david bowie-changes 39.goo goo dolls-iris 40.whitney houston-i will always love you 41.creedance clearwater revival-proud mary 42.the police-every breath you take 43.rolling stones-miss you 44.abba-dancing queen 45.eric clapton-tears in heaven 46.smokey robinson-the tracks of my tears 47.van halen-jump 48.pearl jam - jeremy 49.bob dylan-tangled up in blue 50.prince-little red corvette 51.the temptations-just my imagination 52.paul mccartney-maybe i"m amazed 53.george micheal-faith 54.red hot chili peppers-under the bridge 55.n"sync-bye bye bye 56.gloria gaynor-i will survive 57.the go gos-our lips are sealed 58.the wallflowers-one headlight 59.stevie wonder-you are the sunshine of my life 60.billy joel-just the way you are 61.rem-the one i love 62.madonna-papa don"t preach 63.the beatles-in my life 64.elton john-bennie and the jets 65.the cars-just what i needed 66.cyndi lauper-time after time 67.eminem-my name is 68.garbage-only happy when it rains 69.depeche mode-just can"t get enough 70.beach boys-good vibrations 71.romones-i wanna be sedated 72.tom petty-free fallin"" 73.culture club-do you really want to hurt me 74.elton john-tiny dancer 75.sly and family stone-hot fun in the summer time 76.radiohead-creep 77.al green-lets stay together 78.green day-longview 79.janet jackson-nasty 80.ll cool j-i need love 81.no doubt-don"t speak 82.michael jackson-rock with you 83.foreigner-i want to know what love is 84.oasis-wonderwall 85.cheap trick-surrender 86.human league-don""t you want me 87.pretenders-brass in pocket 88.wyclef jean-gone till november(acoustic) 89.wham-careless whispers 90.brandy and monica -that boy is mine 91.black street & dr. dre 92.acdc-you shook me all night long 93.bee gees-stayin" alive 94.blink 182-all the small things 95.chic-good times 96.def leopard-photograph 97.b-52"s-love shack 98.fine young cannibals-she drives me crazy 99.biz markie-just a friend 100.soft cell-tainted love
2023-07-16 07:21:231

求一篇英语作文

Why do More and More People Enjoy Traveling? It"s reported that during golden weeks,such as National Day,New Year"s Day and May Day,almost all the high roads are filled with private cars,going to travel -destination places and all the hotels and restaurants are full of tourists.What"s more,in some countries with beautiful scenic spots,more than one-third of the visitors are Chinese.All of these suggests one thing that more and more Chinese people are enjoying traveling. But why?In my opinion,here are the reasons.First of all,as a matter of fact,with the progress of the society and development of the economy,a large quantity of people are getting richer and richer,they would like to go to a new place to expand their visions,to know more about the outside world.Second,with the increasing of the living standard,the present way of life can"t meet their needs anymore,they long eagerly for a new lifestyle,like traveling,going climbing and so on.
2023-07-16 07:21:334

真心求好听的hiphop音乐!

美国阿姆的lose yourself ,love the way you lie,他的我都认为超好听,希望你全听过来,还有jay-z的。记得多给分啊,O(∩_∩)O谢谢
2023-07-16 07:21:413

推荐一些好听的音乐拉

《国王与乞丐》
2023-07-16 07:21:5012

给我推荐几首NBA的RAP歌曲 要好听的

最伟大的100首NBA的rap歌曲1. White Lines (Don"t Do It) - Grandmaster Flash & The Furious Five 2. Walk This Way - Run DMC & Aerosmith 3. Rappers Delight - Sugar Hill Gang 4. Fight The Power - Public Enemy 5. Fight For Your Right - Beastie Boys 6. Gangsta"s Paradise - Coolio 7. Planet Rock - Afrika Bambatta 8. The Message - Grandmaster Flash & The Furious Five 9. Killing Me Softly - The Fugees 10. Stan - Eminem 11. I"ll Be Missing You - Puff Daddy 12. California Love - 2Pac 13. Cop Killa - Ice T 14. The Rain (Supa Dupa Fly) - Missy Elliott 15. I Need Love - LL Cool J 16. Doo Wop (That Thing) - Lauryn Hill 17. Push It - Salt-N-Pepa 18. Mama Said Knock You Out - LL Cool J 19. Ms. Jackson - Outkast 20. Work It - Missy Elliott 21. Nuthin But A "G" Thang. Dr. Dre 22. People Everyday - Arrested Development 23. 99 Problems - Jay Z 24. Crossroads - Bone Thugs-N-Harmony 25. Mo Money Mo Problems - Notorious B.I.G. 26. Summertime - DJ Jazzy Jeff & The Fresh Prince 27. Country Grammer - Nelly 28. Gin & Juice - Snoop Dogg & Dr. Dre 29. In Da Club - 50 Cent 30. Stop The Violence Movement - Self Destruction 31. Hey Ya - Outkast 32. Everything Is Everything - Lauryn Hill 33. Mind"s Playing Tricks On Me - Geto Boys 34. Looking For The Perfect Beat - Afrika Bambatta 35. No Sleep Till Brooklyn - Beastie Boys 36. Big Poppa - Notorious B.I.G. 37. U-N-I-T-Y. Queen Latifah 38. It"s Tricky - Run DMC 39. I used to love h.e.r. - Common 40. Gettin Jiggy Wit It - Will Smith 41. Excursion - A Tribe Called Quest 42. Black Steel In the Hour of Chaos - Public Enemy 43. Baby Got Back - Sir Mix-A-Lot 44. Real Love - Mary J. Blige 45. The Magic Number - De La Soul 46. Hard Knock Life - Jay Z 47. Straight Outta Compton - N.W.A. 48. Bridge is Over - Boogie Down Productions 49. On and On - Erykah Badu 50. The Way I Am - Eminem 51. Rock Box - Run DMC 52. New Jack Hustler - Ice-T 53. One Minute Man - Missy Elliott 54. Me, Myself and I - De La Soul 55. We"re All In The Same Gang - West Coast Rap All-Stars 56. Hot In Herre - Nelly 57. My Adidas - Run DMC 58. Roxannes Revenge - Roxanne Shante 59. AmeriKKKa"s Most Wanted - Ice Cube 60. Say No Go - De La Soul 61. Just A Friend - Biz Markie 62. One More Chance - Notorious B.I.G. 63. Funkee Ko Medina - Tone Loc 64. Rebel Without A Pause - Public Enemy 65. Love of My Life - Erykah Badu 66. Whatta Man - Salt-N-Pepa & En Vogue 67. I Know You Got Soul - Eric B. & Rakim 68. Creep - TLC 69. Childrens Story - Slick Rick 70. 2 Legit 2 Quit - MC Hammer 71. Brown Skin Lady - Mos Def 72. Welcome to the Terrordome - Public Enemy 73. Dear Mama - 2Pac 74. Woo-Ha!! Got You All In Check - Busta Rhymes 75. Big Pimpin" - Jay-Z 76. Bonita Applebum - A Tribe Called Quest 77. No More Drama - Mary J. Blige 78. Ready or Not - The Fugees 79. Jesus Walks - Kanye West 80. Love Is Blind - Eve 81. Lyte As A Rock - MC Lyte 82. Eye Know - De La Soul 83. Raw - Big Daddy Kane 84. It Was A Good Day - Ice Cube 85. Parents Just Don"t Understand - DJ Jazzy Jeff & The Fresh Prince 86. Scenario - A Tribe Called Quest 87. To Beat Ya"ll - Lady B 88. I"m Still Number One - Boogie Down Productions 89. Put Your Hands Where My Eyes Can See - Busta Rhymes 90. Bust A Move - Young MC 91. Don"t Sweat The Technique - Eric B. & Rakim 92. Freaks Come Out At Night - Whodini 93. Wild Thing - Tone Loc 94. The Real Slim Shady - Eminem 95. How Ya Like Me Now - Kool Moe Dee 96. C.R.E.A.M. - Wu Tang Clan 97. Boyz-N-The Hood. Eazy E 98. Vapors - Biz Markie 99. The Humpty Dance - Digital Underground 100. Express Yourself - N.W.A.
2023-07-16 07:22:161

如何生成.idx3-ubyte 格式的文件

其实就是python怎么读取binnaryfilemnist的结构如下,选取train-imagesTRAININGSETIMAGEFILE(train-images-idx3-ubyte):[offset][type][value][description]000032bitinteger0x00000803(2051)magicnumber000432bitinteger60000numberofimages000832bitinteger28numberofrows001232bitinteger28numberofcolumns0016unsignedbyte??pixel0017unsignedbyte??pixel..xxxxunsignedbyte??pixel也就是之前我们要读取4个32bitinteger试过很多方法,觉得最方便的,至少对我来说还是使用struct.unpack_from()filename="train-images.idx3-ubyte"binfile=open(filename,"rb")buf=binfile.read()先使用二进制方式把文件都读进来index=0magic,numImages,numRows,numColumns=struct.unpack_from(">IIII",buf,index)index+=struct.calcsize(">IIII")然后使用struc.unpack_from">IIII"是说使用大端法读取4个unsingedint32然后读取一个图片测试是否读取成功im=struct.unpack_from(">784B",buf,index)index+=struct.calcsize(">784B")im=np.array(im)im=im.reshape(28,28)fig=plt.figure()plotwindow=fig.add_subplot(111)plt.imshow(im,cmap="gray")plt.show()">784B"的意思就是用大端法读取784个unsignedbyte完整代码如下importnumpyasnpimportstructimportmatplotlib.pyplotaspltfilename="train-images.idx3-ubyte"binfile=open(filename,"rb")buf=binfile.read()index=0magic,numImages,numRows,numColumns=struct.unpack_from(">IIII",buf,index)index+=struct.calcsize(">IIII")im=struct.unpack_from(">784B",buf,index)index+=struct.calcsize(">784B")im=np.array(im)im=im.reshape(28,28)fig=plt.figure()plotwindow=fig.add_subplot(111)plt.imshow(im,cmap="gray")plt.show()
2023-07-16 07:22:241

大家推荐几首好歌啊。老歌也没关系地!!

那年夏天 火柴天堂 三国恋 秋天不回来 ……
2023-07-16 07:22:466

求:类似“战舞”的歌曲~~~~~

Beyond the game WCG主题歌 farewell avantasia your love is a lie wild dance crazy baby fantasy prouject 中文的 龙拳 还可以啊,周杰伦的,他有几首中国风的歌都还可以 黄金甲之类的那几首龙战骑士
2023-07-16 07:23:092

有Hip-Hop音乐网吗?

HIPHOP - 中国www.hiphopr.cn这里比较全 全部都是再线的视听和MV
2023-07-16 07:23:162

为什么43号元素是放射性的(我知道我说的不对,氚也有放射性,但周期表上是红色的)

43号元素Tc(锝)质子数当然是43,有几种同位素,中子数分别从52到56,所以总核子数从95到99都有。这是个很尴尬的核子数,因为根据原子核的shell model,质子数或者中子数等于如下magic number(幻数)时: 2,8,20,28,50,82,126……,原子核比较稳定,因为平均结合能较大。但是43恰好离幻数很远,52-56也不是幻数,所以原子核不稳定。因此不仅是43号Tc,从41号的Nb往后 都没有严格的稳定同位素了(包括金,银),或者说都是放射性的。只不过半衰期过长,很多比宇宙年龄还长,所以看上去是“稳定的”(50之后的magic number只能保证这种相对的稳定)。当然根本上的细节要通过QCD计算出来,不过这是个计算技术难题,目前计算机还不够强大,算不了这么多的核子。
2023-07-16 07:23:261

英语文章 perfect answer

“Hey, Jenna, do you think weu2019ll still be friends when weu2019re eighty-two” I stopped bouncing on the trampoline when I saw a puzzled look on my friendu2019s face. Boy, did her look say it all! It was clear she was wondering where in the world I had come up with such a random question. Being such good friends, it had become easy to read each otheru2019s minds. So, while I waited for Jenna to answer, I started wondering what life would be like without her. Definitely not the same, thatu2019s for sure! Losing Jenna would be like losing a very close sister. We hang out together as often as we can. We laugh together. We cry together. We give each other advice. We even look a little bit alike. When I spend the night at her house, I feel like part of Jennau2019s family. If it werenu2019t for Jenna, I donu2019t know where in my lifeu2019s journey I would be, but Iu2019m sure it wouldnu2019t be here.Suddenly, my thoughts were interrupted. “Of course, weu2019ll still be friends when weu2019re eighty-two,” Jenna announced loudly. I gave Jenna a friendly stare, and she returned it. We stared at each other until we were laughing so hard that tears were streaming down my face. That moment was one of the most important in our friendship together and, as you might have guessed, eighty-two was our new magic number. But thatu2019s not where the story ends.The next year, in fourth grade, we met Jamie. Jamie had just moved from California, and since she lived in the same neighborhood as Jenna and me, the three of us soon clicked into a really tight group of friends. We played together almost every day. We shared our biggest secrets and crushes, and even came up with crazy ideas to make a little extra cash for the summer. I was happy to have reached out to Jamie as well as getting even closer to my other good friends. Things couldnu2019t have been better, and I thought even time couldnu2019t pull us apart, but that is where I was sadly mistaken.The three of us started fighting a lot—and not just small fights where your friend wonu2019t return a CD you let her borrow. No, these fights involved hurt feelings, crying, taking sides, nasty e-mails, and mean glares. Before Christmas, we had a really big fight, and it was just my luck that Jamie and Jenna were ganging up on me, both saying I was bossy and couldnu2019t keep my mouth closed. I felt helpless and alone. They wouldnu2019t even talk to me at school unless they had some mean insult for me. I had very little hope for the future, and I was almost positive that Christmas, my birthday, and New Yearu2019s Day would be horrible! Why is this happening to me I thought. How can I not even know what I did and have things end up this badThatu2019s why I was surprised when Jenna came to my house and gave me an awesome Christmas card she had made for me. I was so sure that she was still disappointed with me, and now I was getting a really nice card that she even made herself. Is time going to prove me wrong once again“Wow,” I said, breaking the silence as we stood on either side of my front door. “Thanks.”“Okay . . . well . . . I have to go,” she said softly.“Okay. See you later then. . . .” and I closed the door and headed back to my momu2019s bedroom to finish watching a movie.“Who was that at the door” my mom asked.“It was Jenna,” I explained, showing her the card. I pressed play on the VCR, but I wasnu2019t watching the TV screen. Instead, I was admiring the front of the card, which was decorated with snowmen, snowflakes, and a perfect image of Santa Claus. After a few minutes of admiring the front, I decided to peek inside.The card started off with “Merry Christmas” (what else would you put in a Christmas card), but then, farther down the page, it said, “I am so glad weu2019re friends. I am sorry about what I said when we were fighting. A fight wonu2019t stop us from being friends. Besides, we said we were going to be friends even when weu2019re eighty-two.”I stopped reading and started laughing. I couldnu2019t believe I had forgotten what she said that day in her back yard. I couldnu2019t believe I had been so selfish in trying to get even and making my friends feel sorry for me that I had forgotten about real friendship.Instead of drifting farther and farther apart, and eventually going our separate ways, like my friendship with Jamie, Jenna and I held strong, even through the bad times. Jenna ended up being my true friend. Isnu2019t that what a true friend is Someone who chooses to stick with you every day of your life, even when youu2019re eighty-two
2023-07-16 07:23:331

荣耀magic3pro中的SN码是什么意SN码代表的意思是什么?

资讯我关注搜索sn码是什么创建于 2016-07-151个回答asas652016-07-16SN码即产品序列号,是产品的身份证号码,又称:机器码、认证码、注册申请码等。基本概念SN码是Serial Number的缩写,有时也叫SerialNo,也就是产品序列号,产品序列是为了验证“产品的合法身份”而引入的一个概念,它是用来保障用户的正版权益,享受合法服务的;一套正版的产品只对应一组产品序列号。别称:机器码、认证码、注册申请码等。基本分类软件SN码、网游SN码、TCP SN码、手机SN码
2023-07-16 07:23:411

魔科技:初次见面,就能猜中对方的生日!

编按:这次的魔术超简单好学耶,强烈建议男生都要学起来骗妹啊!回顾更多魔科技: 魔科技:你所不知道的,计算机的秘密 魔科技:只要一秒钟,解开纠缠的耳机线! 正龙:让我来猜一些关于你的事吧! 小薇:真的?要猜什么? 正龙:你是几月份出生的呢? 小薇:二月。 正龙:好,我现在知道你的生日是在二月,但不可能知道确切的日期对吧? 小薇:嗯嗯,是这样没错。 正龙:接下来我会给你看几张图片,而我自己不会看到。你一张一张告诉我里面有没有出现你生日的日期。 小薇:好,这张有。 正龙:这张呢? 小薇:没有。 小薇:这张有! 正龙:我想我知道了。 正龙:你的生日肯定是 2 月 17 号! 小薇:真的!答对了耶! 幕后原理解析 打开下列网址,可下载到五张图档。储存于相簿中,即可随时演出。 cellphonemagic.bunbunu/numbercard 为了方便记忆,建议将五张图档按照左上角最小数字1、2、4、8、16作为排列顺序(如上图所示)。左上角的 1、2、4、8、16 这几个数字,即为这5张卡片的代表号。 表演过程中,从第一张开始依序滑动图片,并询问是否有对方的日期在里面。 如果有,则将那张卡片的代表号(1、2、4、8、16)心中加起来,没有的则不予理会。最后所加数字的总和,就会是答案了。 举例:1(有)、2(没有)、4(有)、8(有)、16(没有) 则,答案是1+4+8=13。 温馨提醒: 这个魔术表演的方式,除了用来猜生日,也可以是单纯的猜数字。请朋友在心中想一个1-31的数字,再把她所想的数字猜出来。 如果遇到观众连月份都不愿意透露,要你自己猜,那怎么办呢?这时候,我们就要先使用1、2、4、8 四张卡片先问过一轮,来得知对方的月份。第二轮再改问日期。 把图片的数字顺序背起来,在滑动图片询问观众的过程中自己就不需要看手机萤幕,整个魔术就会看起来更神奇了。 版权声明:本篇文章内容节录自《手机变魔术》,瘾科技经高宝书版同意授权后转载。
2023-07-16 07:23:481

推荐十首以上好听的歌曲

太俗
2023-07-16 07:23:575

thinkphp i方法能解析2进制么

I方法是ThinkPHP众多单字母函数中的新成员,其命名来自于英文Input(输入),主要用于更加方便和安全的获取系统输入变量,可以用于任何地方,用法格式如下:I("变量类型.变量名",["默认值"],["过滤方法"])变量类型是指请求方式或者输入类型,包括:变量类型 含义get 获取GET参数post 获取POST参数param 自动判断请求类型获取GET、POST或者PUT参数request 获取REQUEST 参数put 获取PUT 参数session 获取 $_SESSION 参数cookie 获取 $_COOKIE 参数server 获取 $_SERVER 参数globals 获取 $GLOBALS参数注意:变量类型不区分大小写。变量名则严格区分大小写。默认值和过滤方法均属于可选参数。用法我们以GET变量类型为例,说明下I方法的使用:echo I("get.id"); // 相当于 $_GET["id"]echo I("get.name"); // 相当于 $_GET["name"]复制代码支持默认值:echo I("get.id",0); // 如果不存在$_GET["id"] 则返回0echo I("get.name",""); // 如果不存在$_GET["name"] 则返回空字符串复制代码采用方法过滤:echo I("get.name","","htmlspecialchars"); // 采用htmlspecialchars方法对$_GET["name"] 进行过滤,如果不存在则返回空字符串复制代码支持直接获取整个变量类型,例如:I("get."); // 获取整个$_GET 数组复制代码用同样的方式,我们可以获取post或者其他输入类型的变量,例如:I("post.name","","htmlspecialchars"); // 采用htmlspecialchars方法对$_POST["name"] 进行过滤,如果不存在则返回空字符串I("session.user_id",0); // 获取$_SESSION["user_id"] 如果不存在则默认为0I("cookie."); // 获取整个 $_COOKIE 数组I("server.REQUEST_METHOD"); // 获取 $_SERVER["REQUEST_METHOD"] 复制代码param变量类型是框架特有的支持自动判断当前请求类型的变量获取方式,例如:echo I("param.id"); 复制代码如果当前请求类型是GET,那么等效于 $_GET["id"],如果当前请求类型是POST或者PUT,那么相当于获取 $_POST["id"] 或者 PUT参数id。并且param类型变量还可以用数字索引的方式获取URL参数(必须是PATHINFO模式参数有效,无论是GET还是POST方式都有效),例如:当前访问URL地址是http://serverName/index.php/New/2013/06/01 复制代码那么我们可以通过echo I("param.1"); // 输出2013echo I("param.2"); // 输出06echo I("param.3"); // 输出01复制代码事实上,param变量类型的写法可以简化为:I("id"); // 等同于 I("param.id")I("name"); // 等同于 I("param.name")复制代码变量过滤使用I方法的时候 变量其实经过了两道过滤,首先是全局的过滤,全局过滤是通过配置VAR_FILTERS参数,这里一定要注意,3.1版本之后,VAR_FILTERS参数的过滤机制已经更改为采用array_walk_recursive方法递归过滤了,主要对过滤方法的要求是必须引用返回,所以这里设置htmlspecialchars是无效的,你可以自定义一个方法,例如:function filter_default(&$value){ $value = htmlspecialchars($value); }复制代码然后配置:"VAR_FILTERS"=>"filter_default"复制代码如果需要进行多次过滤,可以用:"VAR_FILTERS"=>"filter_default,filter_exp"复制代码filter_exp方法是框架内置的安全过滤方法,用于防止利用模型的EXP功能进行注入攻击。因为VAR_FILTERS参数设置的是全局过滤机制,而且采用的是递归过滤,对效率有所影响,所以,我们更建议直接对获取变量过滤的方式,除了在I方法的第三个参数设置过滤方法外,还可以采用配置DEFAULT_FILTER参数的方式设置过滤,事实上,该参数的默认设置是:"DEFAULT_FILTER" => "htmlspecialchars"复制代码也就说,I方法的所有获取变量都会进行htmlspecialchars过滤,那么:I("get.name"); // 等同于 htmlspecialchars($_GET["name"])复制代码同样,该参数也可以支持多个过滤,例如:"DEFAULT_FILTER" => "strip_tags,htmlspecialchars"复制代码I("get.name"); // 等同于 htmlspecialchars(strip_tags($_GET["name"]))复制代码如果我们在使用I方法的时候 指定了过滤方法,那么就会忽略DEFAULT_FILTER的设置,例如:echo I("get.name","","strip_tags"); // 等同于 strip_tags($_GET["name"])复制代码I方法的第三个参数如果传入函数名,则表示调用该函数对变量进行过滤并返回(在变量是数组的情况下自动使用array_map进行过滤处理),否则会调用PHP内置的filter_var方法进行过滤处理,例如:I("post.email","",FILTER_VALIDATE_EMAIL);复制代码表示 会对$_POST["email"] 进行 格式验证,如果不符合要求的话,返回空字符串。(关于更多的验证格式,可以参考 官方手册的filter_var用法。)或者可以用下面的字符标识方式:I("post.email","","email");复制代码可以支持的过滤名称必须是filter_list方法中的有效值(不同的服务器环境可能有所不同),可能支持的包括:int boolean floatvalidate_regexpvalidate_urlvalidate_emailvalidate_ip stringstrippedencodedspecial_charsunsafe_rawemailurlnumber_intnumber_floatmagic_quotescallback复制代码在有些特殊的情况下,我们不希望进行任何过滤,即使DEFAULT_FILTER已经有所设置,可以使用:I("get.name","",NULL);复制代码一旦过滤参数设置为NULL,即表示不再进行任何的过滤。
2023-07-16 07:24:351