从C++到C的转换

Dav*_*ave 0 c c++

嗨我感兴趣的是将一些代码从C++转换为C(主要是因为我需要使用带有/来自其他C程序和其他语言的库).C是一个更好的网关我有兴趣复制一些C++概念,如继承为inst.

有没有人知道好的参考文献或已经在一些类似的问题上工作.对于inst如何处理继承,将新成员变量/方法添加到子类,...

谢谢你的帮助

小智 7

如果你需要从C调用lib,我会设计一个内部调用C++函数的干净的C API.C和C++之间的链接是不同的,因此,您必须指定:

#ifdef __cplusplus
extern "C" { 
#endif

void my_c_function (void );

#ifdef __cplusplus
}
#endif
Run Code Online (Sandbox Code Playgroud)

关于设计,你必须隐藏类,模板等.我建议你阅读一些C库,如libpng或OpenGL 1.0,以了解纯C接口.

在C中,您必须自己构造和删除"对象".如果在每次调用中为"对象"传递"this"指针,则可以使用某种面向对象的编程.

但不幸的是,你会有类似"无效指针"的东西.如果您不想暴露内部存储器,可以使用句柄(如win32).