我需要在运行时动态加载库,并且代码没有库在编译时定义的自定义类型。

这似乎可以正确初始化该结构:

void *data = malloc(128);
InitCustomType(data);


这种方法的问题在于结构的大小未知。

这是一个通常如何使用该库的示例:(CustomType是一个结构)

CustomType customType;
InitCustomType(&customType);

// Now customType can be used in the library calls

最佳答案

这是一个通常如何使用该库的示例:(CustomType是一个结构)


如果是这样的例子,那么什么都不会阻止您使用CustomTypemalloc(sizeof(CustomType))


  代码没有库在编译时定义的自定义类型。


该说法与上文不一致。您是否有CustomType的定义,或者没有。如果您这样做,则不会有问题。如果不这样做,您将无法真正使用此库。

07-27 19:46