μClinux下SDRAM数据交换区生成和使用

http://tech.ddvip.com   2007年03月12日    社区交流

本文详细介绍μClinux下SDRAM数据交换区生成和使用

  在C语言中,指针是处理许多数据结构的关键。没有指针,也许根据不能使用动态内存的诸多特性。在编写程序的时候,它允许程序员建立复杂的内存系统。提高了处理未知内容或者类型数据的灵活性。在C中还有一点对字符串处理和数据的输入输出很重要。对指针的彻底了解有助于我们写出更好、更高效的代码。

  

  如果使用一种算法不够,链表可以解决这个问题。当从未知大小的数据块中读入数据时,用户不得不把数据读到内存中。这是因为处理读入数据的函数必须把数据读到一块一定大小的内存中。在读入以后,必须找到一种接合分离数据的办法。一般使用fgets()把数据读到n个字节大小的内存中。缓冲区是n+1个字节大,但是请注意必须使用1个字节放结束标记。然后使用了一简单的链表保存数据。这个链表中一个特殊项:一个名为iscontinuing的整型变量。如果这个变量有值,表示当前结构中的数据不是字符串最后的部分,最后的部分将包含在以后的结构后。这个变量再把数据从内存中调出来,重新组装的时候使用。

  还有一种更明智的保存数据的方法。逐步处理数据直到达到数据末尾。首先要修改的是结构的定义。在结构中包含字符串。在结构中定义一个指针,指向动态申请的内存区域。这样做的好处是,字符串可以很长。

  现在产生输出的代码更简单了。它做的所有的事情就是计算和显示。不再需要合并字符串。因为已经被合并。

  4 结束语

  数据交换区的生成和使用对嵌入式工业网络服务器项目尤为重要,它是WEB服务器正常运行的先决条件,起到承上启下的枢纽作用。向上负责对客户端交互现场设备数据,向下负责与接口缓冲区交互设备实时数据。目前,该部分设计工作已经完成,并在试运行期间情况良好,达到预期效果。

来源:21IC    责编:豆豆技术应用

正在加载评论...