本文设计的内存映射型LCD控制器,能有效地解决显存读写冲突。同时与文献[8]中的控制器相比,由于使用自定义的DMA代替了原有的DMA IP Core,数据的传输不必由CPU产生中断发起,而完全由控制器发起,从而减轻CPU的运行负担。同时,该设计还具有占用逻辑单元少、适用范围广、灵活性强、实用性强、扩展性强等特点,可用于多种分辨率LCD的显示控制,具有一定的实用价值。
在程序当中,经常会用到一些共享对象。一个具有指针成员的类,如果发生复制行为,一个指针复制到另一个指针时,两个指针指向同一个对象。此时可以使用任一指针改变这个共享的对象。那么,如果一个指针删除了这个共享对象,那么另一指针成了悬垂指针,如果再对此对象进行操作时,会发生内存访问错误。而C++中无法判断一个指针所指向的内存是否有效,这是非常危险的。
看下面一个例子:
class MyClass
{
public:
MyClass(int *p,int i): p