我想向Dll函数传递多个数据,所以考虑创建一个结构体并通过以下方式将它们传递给Dll函数:
struct options
{
int op1,
int op2,
int op3,
char * op4,
...
char * op10
}
void dllFunction(options myOptions)
作为dll应该在Windows平台上实现,无论使用的是什么开发工具,我想知道:
是否可以用这种方式发送数据?请注意,结构成员都是基本的c类型(int,float,double等)。
为什么我会担心这个问题?如你所知,不同的编译器对std类的实现不同,因此不能在dll边界上传递std类,但我不确定所有编译器是否以相同的方式放置结构成员。如果它们没有,那么代码可能无法与一些编译器一起使用。
结构体是一种简单的c类型数据类型吗?
如果我不能使用结构体来传递大量数据到dll函数内部,最好的方法是什么?