linux 外接硬盘写入超过2G,linux c 读写超过2G的大文件解决办法

linux默认环境下打开、读、写超过2G的文件会返回错误。

定义如下宏可以突破这个限制,对read/write和fread/fwrite同时有效。

注意它必须定义在所有头文件之前。

#define _FILE_OFFSET_BITS 64

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png    #include 

0818b9ca8b590ca3270a3433284dd417.png    #include 

0818b9ca8b590ca3270a3433284dd417.png    #include 

0818b9ca8b590ca3270a3433284dd417.png    #include 

0818b9ca8b590ca3270a3433284dd417.png    #include 

0818b9ca8b590ca3270a3433284dd417.png    #include 

查了查书,看到了linux的ext2文件大小的限制。根据ext2的结构一共是三级索引,文件最大可达12KB+256KB+64MB+16GB。呵呵,linux操作系统是32位操作系统文件大小只能是4G。呵呵

好像以前的版本均有2G限制

不好,最近我用LINUX DESKTOP/SERVER 3.0版,开发商说已突破此限制。

linux现在没有限制了,6.2的好像有.

转自:

http://macwader.blog.hexun.com/23704425_d.html

如何解决linux下文件大小的限制

在linux下,用fwrite等C API函数来写文件时,会有一个文件大小的限制,一般是2G。问题是在做mysql数据库备份时发现

的。在网上搜了一下,确实有人碰到跟我一样的问题。解决的方案写的并不是很详细。不过有人贴出一个fseeko的文档说明出来,

里面有很重要的信息就是,其中fseeko函数中的off_t在大部分平台上默认为4字节大小。但是可以通过#define _FILE_OFFSET_BITS

64来把off_t这个转化为64比特类型的大小。其实也可以在linux下man fseeko来查看。

虽然有这个信息,但是并不知道怎么用,第一反应在我的“头文件”中加入#define _FILE_OFFSET_BITS 64,重新编译一次

,实验无效。突然想到mysqldump这个命令是可以写一个超过2G大小的文件,查看了一下mysqldump的源代码。发现其实应该是在编

译时加入编译选项-D_FILE_OFFSET_BITS=64就可以解决此问题。 实例: // example.c #include int main(int argc, char* argv[]) {     FILE *fp;     if ((fp = fopen("test.dat", "w+")) == NULL)         return;     int a = 0;     char data[1024] = "";     while (true)     {         fwrite(data, sizeof(data), 1, fp);         a++;         if (a >= 1024*2049)             break;     }     fclose(fp); } 编译:gcc -g -o example -D_FILE_OFFSET_BITS=64 example.c 问题解决!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 需要先制作一个可以引导的Linux安装U盘或光盘,然后将U盘或光盘插入电脑,重启电脑进入BIOS设置,将启动项设置为U盘或光盘,保存并退出BIOS设置。接着按照安装程序提示的步骤进行安装,选择安装到硬盘上,设置好分区、文件系统等信息,完成后重启电脑即可进入安装好的Linux系统。 ### 回答2: 在外接硬盘上安装Linux可以有很多好处。其中之一是,您可以在不改变计算机内部硬盘上的现有操作系统的情况下,将Linux安装到便携的外部存储设备(如USB硬盘或闪存驱动器)上。这意味着您可以随时启动计算机,选择运行Linux或其他操作系统之一,并且可以在不同的计算机之间轻松移动您的工作环境。以下是一些步骤以在外接硬盘上安装Linux: 第一步:选择您的Linux发行版。有许多可用的Linux发行版,如Ubuntu、Debian、Fedora和Mint等。在选择发行版时,需要考虑您的硬件配置、应用程序需求和用途等因素。 第二步:选择要安装的外置硬盘。您需要选择一个空间足够大的外置硬盘,以容纳Linux及其应用程序、文件和数据。也要确保您的硬盘没有任何重要数据,因为安装Linux将格式化硬盘。 第三步:制作启动盘/启动器。您需要将所选的Linux发行版制作成启动盘或启动器,以便可以从此启动计算机并安装Linux。您可以使用专门的制作启动器的软件,如Etcher、Unetbootin或Rufus等。 第四步:从外置硬盘启动计算机。将制作的启动盘或启动器插入计算机,按下启动键,选择从外置硬盘启动计算机。在Linux启动界面上,选择安装Linux。 第五步:将Linux安装到外置硬盘上。按照向导的指示将Linux安装到外置硬盘上。在安装过程中,选择安装到外置硬盘上,而不是计算机内部硬盘。 第六步:配置Linux和应用程序。在安装完成后,您需要配置Linux并安装所需的应用程序。这些步骤将因发行版而异,但通常您需要更新系统、安装驱动程序和配置网络等。 最后,成功在外接硬盘上安装Linux后,您可以在运行其他操作系统的计算机上使用此外部存储设备,并享受Linux所提供的功能和性能。 ### 回答3: 如果你打算在自己的电脑上尝试Linux系统,但是又不想改变现有的操作系统,那么在外置硬盘上安装Linux系统是一个不错的选择。下面我们来了解如何在外接硬盘上安装Linux系统。 第一步:选择一个适合的Linux系统 首先要选择一个适合你需求的Linux系统。Linux有多种版本,比如Ubuntu、Debian、Fedora等等,每个版本的系统都有各自的特点。你需要了解它们之间的区别,以便选择一个适合你的版本。另外,也要注意版本所需的硬件配置是否符合你的外置硬盘的配置。 第二步:准备一个启动盘 在安装Linux系统之前,你需要准备一个启动盘。启动盘可以是USB闪存驱动器或者是光盘。在制作启动磁盘时,需要选择合适的版本,并用专业的制作软件将ISO文件刻录到U盘或光盘上。 第三步:连接外接硬盘并分区 连接外置硬盘后,你需要先分区,创建一个分区来安装Linux系统。如果你不熟悉分区的操作,最好先备份一下外置硬盘里的数据再进行操作。使用磁盘管理工具对外置硬盘进行分区,第一分区留给Windows系统,第二分区用于安装Linux系统。 第四步:安装Linux系统 将准备好的启动盘插入计算机,设置BIOS启动选项为U盘或光盘启动。重启电脑后,选择从启动盘启动系统。进入安装界面后,选择外置硬盘分区,按照提示进行分区格式化、选择安装的软件及参数等操作即可。 第五步:配置Linux系统 安装完成后,系统会要求你重新启动。请断开启动盘,重新启动计算机。启动完成后,进入系统安装目录,进行相关的系统设置,安装软件、更新系统、设置网络等等。 总之,在外接硬盘上安装Linux系统需要仔细操作,确保分区操作正确、启动盘的准备充分以及安装时选择正确的选项。这种方式下,使用Linux系统时无需更改主系统的文件,同时保护了原系统。在使用完毕后只需要分离外接硬盘即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值