我创建了一个win32 Dynamic Link Library 工程,用c语言的方式export接口函数
extern "C" __declspec(dllexport) 函数类型 __cdecl 函数名(参数);问题:
我现在想把一个文本文件的全部内容传入到函数里面去,想用char *类型,但是如果文件有很多行的话,是不是传递的大小有限制啊,或者还有没有其它方法,一次性的把文件内容传入到dll中?
extern "C" __declspec(dllexport) 函数类型 __cdecl 函数名(参数);问题:
我现在想把一个文本文件的全部内容传入到函数里面去,想用char *类型,但是如果文件有很多行的话,是不是传递的大小有限制啊,或者还有没有其它方法,一次性的把文件内容传入到dll中?
因为dll是一个单独的进程,如果把数据指针给它,系统会把指针指向的内存连通指针一起拷贝到dll的进程空间中。
LPVOID pBuffer = ::MapViewOfFile(hFile,...) ;//得到文件开始地址。
把上面的pBuffer传递到DLL接口中就可以了
其实最好是把文件操作放到dll中操作,不要传来传去的。