准备工作
请阅读当前工程目录下的文件并分析其功能,生成Readme.txt.
当前目录下demo.cpp和demo.h通过1394.h实现了对1394.dll的调用,演示了1394板卡的调用方法,请更新到Readme.txt
生成项目
请阅读 ReadMe.txt 并理解本项目软件架构,参考demo.cpp的调用方法。生成一个封装dll的项目,以实现其他编程环境的调用,我使用的编程环境不支持结构体内的指针,请做适当的设配。
封装技巧
内存处理技巧1
我在使用重新封装的Fcwarpper.dll时,出现了内存损坏错误,我怀疑是没有使用正确的buf_length信息.
并且调用原始APi的部分请参考以下代码,尤其是分配内存的部分。
demo\fc_demo.c
UINT CALLBACK FH_190_DemoStartLoop(PVOID context)
内存处理技巧2
原始的API函数应该用buf_length指示(char*)buf的长度,但是我使用的语言不支持动态分配内存,我需要将该代码重构为以下两个函数,第一部分的函数调用申请足够的内存大小,并调用原始API,返回所有其他参数,对buf特殊处理,每次固定返回8192的buf大小以及有效数据长度,并有一个布尔返回参数指示数据是否返回了全部数据,如果未返回全部数据,需要使用另一个函数每次返回剩余的固定的8192缓冲区大小及有效数据长度,我的程序会如此反复调用第二个函数直到返回所有的数据。