编写一个与函数回调一起工作的库,我经常使用类型转换(和调用)函数指向具有相同调用约定和相同签名的类型,但有一个例外:它们具有指向不同类型的参数(所有数据)或无效指针。
最近,我发现它可能不那么安全,根据这个:https://stackoverflow.com/a/14044244/3079266
基本上,据我所知,如果参数的类型兼容,这意味着函数指针类型也是兼容的,应该没有问题。
现在,我有3个问题。
首先:这是否意味着,由于指向不同类型的指针在技术上是不兼容的,我所做的事情会导致未定义的行为?
第二:在哪里(在什么样的架构上)我可以逃脱它?其中是Windows x86还是x64版本?
第三:我在哪里可以逃脱它?答案 0 :(得分:2)