Re: [cpp] 关于c++最近遇到的几个不得不提的问题

Leo Liang leoliang at gmail.com
Thu Mar 9 17:18:51 CST 2006


OCCI是C++接口。跟JDBC的API非常类似。
本来是面向对象的设计,接口的地方却要变成C,多别扭啊


On 3/5/06, Wu Yongwei <adah at sh163.net> wrote:
> C接口还是C++接口?C接口的话应该没有问题的(至少Windows等平台是如此)。
>
> 要跨编译器使用,对象接口一般都必须是纯C的("extern "C" { ... }")。
>
> 吴咏炜
>
> Leo Liang wrote:
>
> > 还是解决不了二进制兼容性问题啊
> > 我遇到的问题是在solaris上使用oracle library,oracle只提供SunStudio编译的lib,我用gcc连接就会出错。
> >
> > btw,好像这个maillist的都是做windows平台的多,unix的少?
> >
> >
> > -----------------------------------------------------------------------------------------
> > Leo Liang
> > E-mail:                                     leo.liang at gmail.com
> > Blog (tech & learning):               http://aleung.blogbus.com
> > Blog (photography & outdoor):    http://sunnyday.cn2k.net
> > Delicious bookmark:                  http://del.icio.us/aleung
> > -----------------------------------------------------------------------------------------
> >
> >
> >
> > On 3/2/06, analyst <qiaojie at gmail.com> wrote:
> >
> >>根据多年来C++做大型工程总结下来的经验,对于C++模块应该坚持两个原则,复杂对象使用抽象接口暴露功能,简单对象使用模板或内联函数暴露功能,即可避免这两个问题,根据这种原则实现的C++模块的成功典型有COM,ATL,STL等等。
> >>
> >>
> >>
> >>在06-3-2,zhs007 <sssxueren at gmail.com> 写道:
> >>
> >>一,二进制兼容性太差
> >>最近帮个朋友写点东西,他提供了几个lib,里面用到了stl,是 vc 自带的,我这边所有的库都是用 stlport编译的,如果要使用他的 lib
> >>,我所有的库需要重新编译不说,还有少量的接口,stlport 和 msstl 不兼容......
> >>c++只有源码级别的兼容,太不方便了。这点比C都要差得太多了,所以一直到现在,我都在传递参数的时候,尽量的传
> >>const char* ,而不是 std::string 。
> >>二,弱 link 的问题
> >>有个项目,大约 100 多个文件,维护起来很痛苦,所以我决定按功能,分成若干小 lib,最后 link 成 dll,这样
> >>可维护性更好一些。粗想下来什么问题都没有,但却就是这样简单的工作都会出问题:
> >>为了降低模块之间的耦合度,我使用了很多 factory ,这样就会有一系列 object 是弱 link
> >>的(增减修改object都不会对整体造成任何影响),而 lib 本身也是 弱 link 的,没有使用到的东西是不会 link
> >>到最终的目标文件中去的,于是,表面上看来编译链接都没问题,但实际运行起来就发现,怎么什么都是空的阿,调试了半个多小时,终于找到原因,超级郁闷的说!
>
> _______________________________________________
> Cpp mailing list
> Cpp at codingnow.com
> http://codingnow.com/mailman/listinfo/cpp
>


--
-----------------------------------------------------------------------------------------
Leo Liang
E-mail:                                     leo.liang at gmail.com
Blog (tech & learning):               http://aleung.blogbus.com
Blog (photography & outdoor):    http://sunnyday.cn2k.net
Delicious bookmark:                  http://del.icio.us/aleung
-----------------------------------------------------------------------------------------



More information about the Cpp mailing list