首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

文件保护

文件应该含有保护符,即使这些头文件不会被其他头文件包含。编写头文件保护符并不困难,而且如果头文件包含多次,它可以避免难以理解的编译错误。...为了保证头文件在给定的源文件中只处理过一次,我们首先检测 #ifndef。第一次处理头文件时,测试会成功,因为 SALESITEM_H 还未定义。下一条语句定义了 SALESITEM_H。...那样的话,如果我们编译的文件恰好又一次包含了该头文件。#ifndef指示会发现 SALESITEM_H已经定义,并且忽略该头文件的剩余部分。...当没有两个头文件定义和使用同名的预处理器常量时,这个策略相当有效。我们可以为定义在头文件里的实体(如类)命名预处理器变量来避免预处理器变量重名的问题。...通过使用类名来组成头文件和预处理器变量的名字,可以使得很可能只有一个文件将会使用该预处理器变量。

2.2K10
您找到你想要的搜索结果了吗?
是的
没有找到

Linux吃掉的磁盘空间

在服务器运维过程中,我们时常会遇到这样的情况,收到服务器磁盘空间告警 登录服务器,通过df -Hl查看 和告警信息一致,接着我们就是要找到导致磁盘空间满的目录或文件 如何找到占用空间大的目录或文件...10G,没有隐藏目录,那空间谁吃了?...很明显,有空间已删除文件占用,文件删除了,但是资源没释放 之前介绍过一个很好用的命令:lsof,我们可以通过以下命令去查看 lsof +L1 从结果可以看出,有一个28G左右的大日志文件,删除了,...但是空间没释放,这是很常见的一种情况 对应的解决方法就是,重启tomcat应用,释放空间 磁盘空间莫名吃?...还有一种经常有人问的问题,就是,通过df查看到的磁盘 会发现,Used和Avail加起来不够Size,莫名吃掉一部分 其实这是Linux文件系统的一种安全策略,它默认会为root用户保留5%的磁盘空间

2.1K20

磁盘文件系统二

目录与文件名的存储格式 目录下文件比较少的情况下:目录本身也是个文件,也有 inode。inode 里面也是指向一些块。...和普通文件不同的是,普通文件的块里面保存的是文件数据,而目录文件的块里面保存的是目录里面一项一项的文件信息。这些信息我们称为 ext4_dir_entry。...block内容中遍历查找匹配的子文件目录项 不难发现,之前的需要读取N + 1个block的困境简化为只需要读取一个block的内容即可,问题迎刃而解 ?...为了表示图中上半部分的那个简单的树形结构,在文件系统上的布局就像图的下半部分一样。无论是文件夹还是文件,都有一个 inode。...对于较小的分区来说速度还好,但是对于一个超大的磁盘,速度是极慢极慢的。例如将一个几十T的磁盘阵列格式化为ext4文件系统,可能你会因此而失去一切耐心。

97510

问题:未清空磁盘添加到磁盘组触发坏块

但是设想一下,如果添加到ASM磁盘组的磁盘没有提前清空,会出现什么样的情况呢?...本文分享一起客户近期碰到的未清空磁盘添加到磁盘组触发坏块(Read datafile mirror)的案例,在此提醒大家注意。...xxx2与其他磁盘名中都发现了相同的数据块, 并且这些数据块中有效的数据块都在其他磁盘中,反而无效的数据坏块却全都在磁盘/dev/axxx1 (也就是磁盘名:xxx2) , 因此猜测可能和这块磁盘的相关操作有关...而xxx1 磁盘组的冗余度是 NORMAL ,简单举例说明下 ,oracle根据镜像个数不同,磁盘组的冗余度划分为以下3种: 1)外部冗余(External redundancy):数据没有镜像。...中的某一个或多个磁盘,甚至整个failure group全部丢失时也不会有数据丢失;当磁盘/dev/axxx1重新加入到磁盘组中时,ASM再平衡功能会让磁盘组中所有磁盘上的文件extent 均衡的分布,

95310

磁盘文件系统三

超级块对象代表一个己安装的文件系统,存储该文件系统的有关信息,比如文件系统的类型、大小、状态等。对基于磁盘文件系统,这类对象通常存放在磁盘上的特定扇区。...文件对象代表已经进程打开的文件,主要用于建立进程和文件之间的对应关系。它由open()系统调用创建,由close()系统调用销毁,且仅当进程访问文件期间存在于内存之中。...最后将超级快的变更内容写回到磁盘上,更新挂载计数器和上一次挂载的日期。 这样就将磁盘挂载到linux的VFS文件文件系统中了。...每当一个文件系统安装时,就会有一个vfsmount结构创建,它代表了该文件系统的一个安装实例,也代表了该文件系统的一个安装点。下图是超级块、安装点和具体的文件系统之间的关系。...缺点也是明显的,就是所谓的删除并没有对文件的内容造成影响,只要没有后续的文件覆盖,就有恢复的可能,有安全的风险。

81120

Linux中磁盘数据误删,怎么恢复

如果你要是对linux分区和挂载不理解,建议看下: https://blog.csdn.net/qq_41276657/article/details/105168312 eg:假如文件不小心删除操作...: 1,先卸载磁盘,防止数据新添加数据替换 2,下载extundelete恢复工具 https://pan.baidu.com/s/1ocBNA5KTgmVEeFa30-fkSQ 3,如果用extundelete...,新建一个目录,在这个目录恢复,不然就会覆盖原磁盘 10,进入被删除数据的目录 11,根据名字恢复数据:文件(可以写东西,如.txt文件)和目录恢复还不一样,可以试试用恢复文件的方法恢复目录,答案是不成功...–restore-all(恢复所有文件,但是空的目录和空的文件不会恢复,因为没有数据,恢复没意义,默认不恢复, 如果想要的话可以跳到第10步骤,里面有所有被删除的文件,包括空文件和目录,手动建,另外单个恢复的话会很麻烦...-0.2.4.tar.bz2,别忘了) 9,mkdir test(我放在/root根目录了) 10,extundelete /dev/sdb1 –inode 2(我的磁盘是sdb1) 注意

5.7K10

磁盘:最容易忽略的性能洼地

构成这部分的,是传统部分的磁盘、CPU、内存和网络以及因为移动网络而显得特别重要的电池(耗电)。本文我们将向您着重介绍磁盘部分。...因此,对于外行来说,磁盘I/O性能总是最容易忽略的,精力会更集中在CPU上。但是对于内行人来说,大家都懂得,性能无非是CPU密集型和I/O密集型。磁盘I/O就是其中之一。...SQLite性能分析/监控工具 SQL I/O Monitor 我们知道,数据库操作最终操作的是磁盘上的DB文件,DB文件和普通的文件本质上并无差异,而I/O系统的性能一直是计算机的瓶颈,所以优化数据库最终落脚点往往在如何减少磁盘...正当我满怀欣喜地去调用手机自带的libsqlite.so 库时,读/ 写数据再一次没有记录到, 我当时的内心几乎是崩溃的。为什么我自己编译的libsqlite.so 库可以,用手机上的就不行呢?...但是我们又面临另外一个问题,因为获取的磁盘信息是基于DB 文件的,而应用层操作数据库是基于表的,同时又缺乏堆栈,很难定位问题。

1.1K20

磁盘文件系统一

b)磁盘在执行文件系统格式化时,会被分成三个存储区域,超级块、索引节点区和数据块区。...所以记住,索引节点同样占用磁盘空间。 数据块:简称为block,普通文件用来记录文件的数据。...以下为inode和数据块的分配策略: 多块分配可以减少磁盘碎片。当文件初次创建的时候,块分配器预测性地分配8KB的磁盘空间给文件。当文件关闭的时候,未使用的空间当然也就释放了。...但是如果推测是正确的,那么文件数据将写到一个多个块的extent中。 延迟分配。当一个文件需要更多的数据块引起写操作时,文件系统推迟决定新数据在磁盘上的存放位置,直到脏的buffer写到磁盘为止。...磁盘分成128MB的块组。当在根目录中创建目录时,inode分配器扫描块组并将新目录放到它找到的使用负荷最小的块组中。这可以保证目录在磁盘上的分散性。

66410

遗忘权”:大数据时代的隐私保护

该男子在谷歌上搜索到关于自己的负面消息,于是要求谷歌删除相关的链接或采取保护措施。这个要求谷歌拒绝。随后他将谷歌告上法庭。 这起案件只是西班牙200多起要求撤下涉及个人数据内容的起诉之一。...个人隐私受到侵犯的威胁。 “遗忘权”则赋予了个人处理网络数据的权利。 偏向“隐私保护”的天平 法院的裁决结果传达出来之后受到了很多人的欢迎。...欧盟司法委员维维亚娜・雷丁称“这是保护欧洲民众个人信息的一次显著胜利。”但另一些人对此却有着不同的看法。当事者谷歌的态度即非常明显,它表示“法院的裁决令人失望”。...欧洲法院的判决使社会的交易成本提高,“既要信息流通,又要保护个人隐私其实很难。”他说。 事实上,谷歌一直在隐私问题上遭受指责。国际隐私保护组织就曾评价谷歌为“隐私权的敌人”。但谷歌一直反对这种指责。...“棱镜门”事件后的欧洲在隐私问题上极易敏感,他们选择了加强对个人隐私的保护,要求谷歌尊重用户的“遗忘权”。

731110

linux:磁盘文件大小,挂载相关

常用命令: df -hi df命令经常用的参数为: a:显示全部的档案系统和各分割区的磁盘使用情形 i:显示i -nodes的使用量 k:大小用k来表示 (默认值) t:显示某一个档案系统的所有分割区磁盘使用量...x:显示不是某一个档案系统的所有分割区磁盘使用量 T:显示每个分割区所属的档案系统名称 --- ### du命令 du命令用来查询档案或目录的磁盘使用空间, 通过man获取du命令的详细介绍。...常用命令:`du -ah 对应的文件夹` - 常用的命令参数如下: - ``` a:显示全部目录和其次目录下的每个档案所占的磁盘空间 b:大小用bytes来表示 (默认值为k bytes) c:.../home 挂载 /dev/vdb1 到 /home, 当然, 如果挂载到别的位置,修改后面即可,例如: mount /dev/vdb1 /www 自己创建并且挂载到 /www后,可以看见对应的文件...- 盘符会单独显示 - 也可以 mount -l 查看一下,对应的盘符所挂载的文件

5.7K80

磁盘文件读取——客户端存储

概述 磁盘文件 指的是客户端操作系统本地文件系统中的文件,也经常直接被称作本地文件,但因为容易与沙箱文件系统的WEB本地文件系统相混淆,所以特意将名称区分了一下。...磁盘文件读取API是通过FileReader对象来实现的。...使用FileReader对象,web应用程序可以异步的读取存储在用户计算机上的文件(或者原始数据缓冲)内容,可以使用File对象或者Blob对象来指定所要处理的文件或数据.其中File对象可以是来自用户在一个...元素上选择文件后返回的FileList对象,也可以来自拖放操作生成的 DataTransfer对象。...这也意味着没有用户的参与,WEB应用程序是没有能力直接指定读取磁盘上的任何一个文件的。 代码示例 下面的代码可以实现图片的本地预览: <!

1.5K20
领券