关于将指针从C程序传递到C++库并返回的结构, double 函数,函数……,有什么技巧可以给我?
最佳答案
假设您在静态或动态两个不同的库中编码它们(Linux上的Windows共享库上的DLL和其他* nix变体),我最大的担心如下:
Pseudocode-ish Example: // C++ class class foo { public: void DoIt(); }; // export helper declarations extern "C" void call_doit(foo* pFoo); extern "C" foo* allocate_foo(); extern "C" deallocate_foo(foo* pFoo); // implementation void call_doit(foo* pFoo) { pFoo->DoIt(); } foo* allocate_foo() { return new foo(); } deallocate_foo(foo* pFoo) { delete pFoo; } // c consumer void main() { foo* pFoo= allocate_foo(); call_doit(pFoo); dealocate_foo(pFoo); }
关于c++ - 将指针从C传递到C++,反之亦然,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2076209/