windows – C运行时对象,dll边界
发布时间:2020-12-14 02:25:40 所属栏目:Windows 来源:网络整理
导读:为dll设计C API的最佳方法是什么,它处理传递依赖于C运行时的“对象”的问题(FILE *,malloc返回的指针等).例如,如果两个dll与运行时的不同版本链接,我的理解是您无法安全地将FILE *从一个dll传递到另一个dll. 唯一的解决方案是使用依赖于Windows的API(保证在d
为dll设计C API的最佳方法是什么,它处理传递依赖于C运行时的“对象”的问题(FILE *,malloc返回的指针等).例如,如果两个dll与运行时的不同版本链接,我的理解是您无法安全地将FILE *从一个dll传递到另一个dll.
唯一的解决方案是使用依赖于Windows的API(保证在dll中工作)? C API已经存在并且已经成熟,但是主要是使用unix POV设计的(当然还是必须使用unix). 解决方法
你问了C,而不是C解决方案.
在C中执行此类操作的常用方法是: >设计模块API以简单地不需要CRT对象.获取在原始C类型中传递的东西 – 即让消费者加载文件并简单地传递指针.或者,让消费者在内部传递一个完全限定的文件名,即打开,读取和关闭的文件名. 通过这样一些简单的技巧,您可以使您的C DLL接口完全独立于主机CRT – 或者实际上要求主机完全用C或C编写. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |