免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 8867 | 回复: 13
打印 上一主题 下一主题

[C++] unix/linux下c++的类库问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-07-17 15:48 |只看该作者 |倒序浏览
除了标准库之外,除了ui之外,使用c++开发,类库如何解决,没有足够的类库的支持,c++开发很难办的,在那两个库提供的支持之外,是要靠自己写类么,还是直接使用系统的api,当然是c的方式了,
要是这样的话(既没有足够的类库的支持),除了stl的优势之外,c++本可以带来的优势就会有着极高的门槛了,我对这方面不是很了解,业内的朋友给说一下啊,
还有,若是使用c的话,那么在相应的数据结构和算法的使用上,是靠粘贴以前的代码并通过改动相应的数据类型来完成,还是要手工逐一的打造,毕竟在开发效率上,这两种方式都不如c++的stl便捷,
再有,开发中,ui部分所占的比重真的很大么,我对ui很头痛,觉得ui编程很繁琐,很难产生喜好。


cu上做c++的朋友给讲解一下啊,多谢了,哈

论坛徽章:
0
2 [报告]
发表于 2011-07-17 17:34 |只看该作者
只用c++的语言,其它的用c的库。
c++的库臃肿,而且出问题不好定位。

论坛徽章:
0
3 [报告]
发表于 2011-07-17 18:51 |只看该作者
只用c++的语言,其它的用c的库。
c++的库臃肿,而且出问题不好定位。
gtkmm 发表于 2011-07-17 17:34



    能够说的详细一些么?只使用c++语言是指什么?c语言中原有的东西加上强类型检查,异常处理机制,这些使用是可以的吧。
    那么多态应该不会使用,别的会使用到么?如类,对象,
   
   还有,说到的出了问题不好定位那句,是指c++的库不可靠,极有可能出问题,还是c++的库本身没有问题,但是,库很复杂,使用时用错的时候很多,就是c++的库不易
掌握,对么

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
4 [报告]
发表于 2011-07-17 19:47 |只看该作者
1、你可以找开源的C++类库实现,实在找不到或者有特殊需求就自己搞。
2、你以前做了很多数据结构和算法的工作?如果以前写的很好,你可以拿来用啊,stl不是万能的。
3、UI,QT?gtk?wxWidgets? 这个是要深入具体细节的,没什么好讲。

论坛徽章:
0
5 [报告]
发表于 2011-07-17 20:13 |只看该作者
回复 4# ecjtubaowp


    多谢

论坛徽章:
0
6 [报告]
发表于 2011-07-17 23:09 |只看该作者
C++的库很丰富吧,如果不是自己开发库和底层算法,非常忌讳在C++实现代码中参杂着C的身影。
可以关注一下c++0x,以及boost库等,至于使用C++出问题,很有争议的话题,那多半是人的问题,各有所好吧。
个人感觉使用C++的接触面要广一些,比较有挑战性。

论坛徽章:
0
7 [报告]
发表于 2011-07-17 23:27 |只看该作者
比如,linux下那么多软件,很少有用c++写的(除了qt相当的那一堆)
c++经常是抛异常,在你并不是很了解你所使用的函数库,而你所用的函数库又引用了其它的函数库,最后引用很多层,有一个内层的异常抛出来了,难以定义是哪里出的问题。
如果是C的库,一般会直接输出个日志消息,告诉你在哪个文件,每几行,出什么错。

至于出错, 比如C语言函数,应该是返回一个char *的,如果返回值是NULL,那就出错。
换成C++,应该是返回string, char*是能转换成string的,但是,如果值为0,就会bad_alloc异常了。
char *p_str;
string str=p_str;
(如果p_str为0, 招出异常,这个东西我开始就不知道,被害苦了)

至于C++出现奇怪的错误,那就更恶心了,
我出现过这样的错误:
namespace hml{
template<typename T>class vector;
typedef vector<float>  vfloat;
}

using namespace hml;
void test_func( vfloat x);    编译失败
void test_func( vector<float>);   编译成功

如果把那个namespace去掉,居然就能成功。。。灰常搞笑的错误,这类错误我还见过很多,原因就是nvcc这个编译器的事情。  只能说,很多C++里的东西,换个编译器就不行了。

论坛徽章:
0
8 [报告]
发表于 2011-07-18 21:32 |只看该作者
还有啊,在unix/linux下的C/C++开发,图形界面一定会使用到么,我指的是开发的程序必须要求有图形界面,如同在windows下的程序基本都得要有图形界面,
在linux中,图形界面的需求比例有多大,若是象windows中的那样的话,我就得突击一下某种常用的ui了。
我真的不知道在企业中做linux下的程序除了语言和os的api之外还需要什么了,若是真的需要,我就突击一下,

论坛徽章:
0
9 [报告]
发表于 2011-07-18 22:03 |只看该作者
回复 7# gtkmm


    异常的问题没有手册很难办,要是让我逐层的找到底是在哪里出现的(哪里抛出的异常),我很难找到,我经验不足,至于namespace中的那个编译的报错,我倒觉得好办一些,具体的编译器对标准c++
    的支持上的不足我倒是能够接受,换种方式就行了,反正听你说了后,确实觉得c++很复杂,

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
10 [报告]
发表于 2011-07-19 08:57 |只看该作者
Linux下C/C++开发,从总体上来说用图形界面的很少,大部分都是服务性的程序,最多有个字符界面。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP