我正在编写一个串行接口,将文件发送到我通过串行接口开发的FPGA项目。
程序应该将一个数据包(16个字节)发送到FPGA,然后在收到确认后,程序应该发送下一个数据包。
我的问题是:
读取文件时,是否习惯将整个文件读入内存/字节数组?
或者程序一次只读取文件中的16个字节,并在需要发送下一个数据包时读取接下来的16个字节?
先谢谢, 麦克
答案 0 :(得分:0)
假设您一次需要超过16个字节,最简单的代码是一次读取16个字节,使用它们,然后再读取16个字节的代码。
如果您尝试一次读取整个文件,则必须增加额外的复杂性 - 您需要添加缓冲代码和数组末尾边界检查。你不需要任何这些。把事情简单化;阅读你需要的东西,使用它,然后阅读更多。
答案 1 :(得分:0)
最常见的解决方案是一次读取16个字节(或者需要处理多个字节)。
如果文件非常大,读取整个文件可能会更糟糕,如果文件非常大,可能会导致OutOfMemoryException
。
如果文件相对较小,您可能不会注意到这两种技术之间存在很大差异。