【发布时间】:2015-03-24 21:51:26
【问题描述】:
我有一个带有函数的 .obj,它包含需要作为 C++ 成员函数链接的所有内容。问题是,它在 C 中,因此使用它的类期望比它的正常名称更丑陋。所以我认为这只能通过两种方式完成:要么修改 C 函数的名称和/或向符号表添加额外的符号,但无论如何我仍然可以使用它的原始名称......所以基本上破坏了这个名字。任何想法如何做到这一点或有一些完全其他的方法来解决这个问题?请分享,但请考虑在这种特殊情况下说 extern "C" 的用处 :)) thx
【问题讨论】:
-
一个 C 函数具有作为 C++ 成员函数链接所需的一切 ??真的,包括 this 指针?这个怎么可能? AFAIK C 不知道 this。
-
因为我将它指定为第一个参数..
-
你不是在问真正的问题。将 c++ 写成 c 是有原因的。通常你做相反的事情,编写c++类并用c接口包装它,当
this添加为void*作为每个方法的第一个参数。 -
您可以尝试手动修改名称并将修改后的名称放入 C 代码中,但我不确定您为什么不只使用 c++ 编译器?
标签: c++ c windows symbols name-mangling