我想延长我的图书馆,目前只编译使用gcc,通过的Solaris Studio中使用。
我的想法是做到以下几点:
- 写在C包装功能,这与暴露外部C键的界面的相关部分。
- 然后用gcc创办这家图书馆。 将所得的C-头和二进制是编译器无关,因为没有名称重整了。
- 包括C-标题和链接进了Solaris Studio中编译了该项目。
问:这是一个可行的办法或者是有没有更好的办法解决这个问题?
注:除了名字改编,还注意与异常处理的问题 。
我想延长我的图书馆,目前只编译使用gcc,通过的Solaris Studio中使用。
我的想法是做到以下几点:
问:这是一个可行的办法或者是有没有更好的办法解决这个问题?
注:除了名字改编,还注意与异常处理的问题 。
你的计划是正确的。
只要你的库公开一个C API与平台ABI兼容(尺寸和C类型的比对,调用约定),并不会抛出C ++异常你不会有烦恼使用其他的编译器或语言链接库中。
你还可以添加一个C ++头只包装为您的C API,使其易于由C ++可重用和异常安全。