[请教]线程间数据传递

哦,前面我多复制了,实际使用的时候用户程序没用到 ftruncate( )。

虽然一直在研究复制的时间(不论是 resmgr_meswrite( ) 还是 memcpy( ) ),但是一直没有头绪,不知道为什么需要那么长时间。。。

主机是普通的台式机,设备端是自制的板子,使用的是 Cypress公司的 FX2LP,又称EZ-USB。

好吧,由于一直没有解决复制数据的耗时问题,干脆把驱动的缓冲区地址传递给了用户程序,这样一来就免除了复制的步骤,驱动耗时降到原来的一半以下。

用户程序使用函数 mmap( ) 由物理地址得到虚拟地址,如下:

ptr = (_uint8 *) mmap( NULL, length, PROT_READ, MAP_PHYS, NOFD, (off_t)phy_addr );

版本6.4的QNX使用一切正常,用得到的虚拟地址读取数据也没有问题;
版本6.3的QNX却连编译都通不过。。。

请问要怎么做才能正常编译,或者说,有其它的方法么?