KeyFansClub

首页 » - 特色讨论区 - » 键社茶餐厅 » C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!
wdx04 - 2006/5/18 11:50:00
回 kkkklll :

如果对M$的IDE对C++的支持不满意,可以用Visual Assist X配合Visual Studio 2005以前的版本,这个为C++定制的插件Intellisence比Visual Studio本身更好;至于Refactor,一些Java IDE早就有了,但除了程序结构很乱的情况,用得上的时候很少。还有编译器,推荐用更标准的Intel C++取代M$自己的(Intel C++编译器可以与Visual Studio集成),像if(i=1)这类错误Intel C++就会产生警告。其次,我列举的这些C++模版库都不是什么底层的东西,STL是标准C++的一部分,提供常用算法和数据结构的高效实现。内存泄漏也可以用STL中的auto_ptr防止。boost是C++标准库的扩展,提供了文本处理、扩展的算法和数据结构、函数对象、内存管理、数学和数值计算、扩展的I/O、词法分析、测试、与Python语言交互等方面的支持。ATL,WTL,DTL分别是用来简化开发COM组件、桌面应用、数据库应用的模版库。如果用C++语言却不用这些强大的库,当然体不到C++的优势了。再次,.net程序发布起来也成问题,现在没有安装.net Framework的Windows用户有很多,.net Framework又有这么多版本,这无疑会造成用户的困扰。最后,即使真的是0.1% 的代码费了99% 的时间,那也用不上C#,更容易使用的语言多的是,例如Python和Ruby,用这些脚本语言更能节约时间,为什么还要用C#呢?

以下引用粘土火星在2006-5-18 8:05:43的发言:

PS:刚刚简单看了一下DX SDK中带的演示
没想到Managed DirectX和原生C++效率差别这么小……
两个程序基本稳定在150fps左右,Managed DirectX浮动范围大一些,当然我本本机器配置不高(AMD Turion MT-28,ATI X200M 分了32M显存orz),可能差距拉不开。

差距比较大的部分在于内存占用……托管代码明显不如C++ =v=bbb

这没什么奇怪,Managed Code自身计算量太小,大部分时间都是消耗在DirectX的Native Code上,所以速度差距不明显。演示Managed DirectX API和用C#写游戏是两回事。
LOVEHINA-AVC - 2006/5/18 12:02:00
同上。个人认为C#确有鸡肋之嫌……
kkkklll - 2006/5/18 13:14:00
要知道我是个懒人呀,学这么多,还不如杀了我呢……学C#只用了两周,而且是一边学一边写了不少程序,而且这些什么Com、桌面应用、数据库应用什么的我都用不到……呵呵。或许若干年以后我勤快点了(这个可能性有点低呃)会去学吧。
而且C#可以说是 M$ 的一个规范吧,就算有不好的地方(我实在看不出来……),成了标准了,也就没有不好了,就像 键盘的键位,就像 下水道的圆盖子…… 就像 Windows……
呵呵。
蓝空公主 - 2006/5/18 19:43:00
以下引用kkkklll在2006-5-17 19:42:32的发言:
我的BUG 多的意思是:C++里面什么类型都可以互相换,if()里面加什么都可以通过编译,if(函数名), if(i=1)( if(i==1) )这种错误也很容易发生(结果很多地方都统一写成if(1==i)了,呵呵),而且每个初始的内存都要自己多花一步去释放,弄不好就变成内存泄露了……


貌似这些问题我也很头痛,不过,现在习惯一些了
C++的操作安全性被诟病已经不是一天两天了
对于企业、公司这些追求收益和效率的团体来说更是明显

但是对于我这种DIY粉丝来说,
C++程序几乎每一件事情都可以让你自己来做,让你知道究竟,让你随意写
这一点使他的主要魅力
如果时间不是很紧
用C++写程序是乐趣无穷的!
LOVEHINA-AVC - 2006/5/18 19:47:00
要DIY当然还是ASM王道……(被拖走)
Rinrin - 2006/5/18 23:24:00
我用intel C++ 编译的xvid vfw codec
播放文件时稳定在29.8~29.9fps
而用微软的编译器
fps在26~28跳动
Miliardo - 2006/5/20 14:22:00
以下引用LOVEHINA-AVC在2006-5-18 0:44:52的发言:
ASM是无类型的,BASIC系的也几乎都是-v-

ASM最美……

谁说Basic是无类型的……Basic只是允许随便的改变类型而不是C/C++那种转换……

以下引用粘土火星在2006-5-18 8:05:43的发言:


还有这老师也不是人||||||||

PS:刚刚简单看了一下DX SDK中带的演示
没想到Managed DirectX和原生C++效率差别这么小……
两个程序基本稳定在150fps左右,Managed DirectX浮动范围大一些,当然我本本机器配置不高(AMD Turion MT-28,ATI X200M 分了32M显存orz),可能差距拉不开。

差距比较大的部分在于内存占用……托管代码明显不如C++ =v=bbb


如果你在.net平台上运行Windows你就会明白了……
Miliardo - 2006/5/20 14:26:00
以下引用kkkklll在2006-5-18 13:14:40的发言:
要知道我是个懒人呀,学这么多,还不如杀了我呢……学C#只用了两周,而且是一边学一边写了不少程序,而且这些什么Com、桌面应用、数据库应用什么的我都用不到……呵呵。或许若干年以后我勤快点了(这个可能性有点低呃)会去学吧。
而且C#可以说是 M$ 的一个规范吧,就算有不好的地方(我实在看不出来……),成了标准了,也就没有不好了,就像 键盘的键位,就像 下水道的圆盖子…… 就像 Windows……
呵呵。

Windows是最没有规范的东西啊……说变就变……
Unix的话大部分几十年前的代码现在抓来很多还能用的说……
还有……C#似乎只在Windows流行的说……还没有成为标准……那个所谓EXXXXXXX的标准还只能算一家的东西吧……
别跟我说Mono……
LOVEHINA-AVC - 2006/5/20 14:56:00
以下引用Miliardo在2006-5-20 14:22:43的发言:
谁说Basic是无类型的……Basic只是允许随便的改变类型而不是C/C++那种转换……

如果没有转换限制的语言也能够称为有类型的话……当然,“有类型”和“强类型”之间的界线本来就不是很清楚

另外,BASIC系的语言很多,切不要认为只有名字上带着个BASIC的才能算BASIC系……


以下引用Miliardo在2006-5-20 14:22:43的发言:
如果你在.net平台上运行Windows你就会明白了……


在一个平台无关的应用框架上运行平台相关的OS?不知道要怎样才能做到捏,用.net写个虚拟机然后运行Windows吗?
Prz - 2006/5/20 16:14:00
似乎只要有指针这个概念的语言就可以没有限制的转换任何类型....连Pascal都是....

当然最王道的无类型语言还是Script Language了,我曾经自己创造的一种脚本语言,一个变量既可以是字符串,又可以是数值,还可以是Console,或者文件,或者TCP Socket,或者Pipe......爱怎么用就怎么用.... |||||
wdx04 - 2006/5/20 16:23:00
以下引用LOVEHINA-AVC在2006-5-20 14:56:00的发言:
如果没有转换限制的语言也能够称为有类型的话……当然,“有类型”和“强类型”之间的界线本来就不是很清楚

另外,BASIC系的语言很多,切不要认为只有名字上带着个BASIC的才能算BASIC系……

你是想说HSP吧,我用HSP写过一个小Demo程序,用了一堆goto和gosub,果然很“BASIC”。

以下引用LOVEHINA-AVC在2006-5-20 14:56:00的发言:
在一个平台无关的应用框架上运行平台相关的OS?不知道要怎样才能做到捏,用.net写个虚拟机然后运行Windows吗?

应该说是用C/C++/Asm写个.net虚拟机,然后Windows在.net上运行,这样Windows本身是平台无关的。不过我想M$也没这个胆。
LOVEHINA-AVC - 2006/5/20 16:46:00
以下引用Prz在2006-5-20 16:14:09的发言:
我曾经自己创造的一种脚本语言,一个变量既可以是字符串,又可以是数值,还可以是Console,或者文件,或者TCP Socket,或者Pipe......爱怎么用就怎么用.... |||||


都成symbol了= =

以下引用wdx04在2006-5-20 16:23:01的发言:

你是想说HSP吧,我用HSP写过一个小Demo程序,用了一堆goto和gosub,果然很“BASIC”。


不只是这个,很多脚本语言都是BASIC语法的

以下引用wdx04在2006-5-20 16:23:01的发言:

应该说是用C/C++/Asm写个.net虚拟机,然后Windows在.net上运行,这样Windows本身是平台无关的。不过我想M$也没这个胆。


能够JIT的OS……听起来似乎不错XDDDD
wdx04 - 2006/5/20 17:04:00
以下引用Miliardo在2006-5-20 14:26:18的发言:

还有……C#似乎只在Windows流行的说……还没有成为标准……那个所谓EXXXXXXX的标准还只能算一家的东西吧……
别跟我说Mono……

C#有ISO标准:ISO/IEC 23270:2003(J#是23271),M$还是有能力让它自己创造的东西成为标准的。但是C++就不一样了,今年2月M$提出将C++/CLI加入ISO C++标准,但被英国否决。
http://arstechnica.com/journals/microsoft.ars/2006/2/3/2760
另外贴几篇C++之父Bjarne Stroustrup的访谈录:
http://www.royaloo.com/bjarne/interviews/bsinterview2005.htm
http://www.royaloo.com/articles/articles_2005/bjarne2005.htm
以下引用LOVEHINA-AVC在2006-5-20 16:46:48的发言:
能够JIT的OS……听起来似乎不错XDDDD

有什么不错的?一个虚拟机上的OS,连Asm都不准你用了。
LOVEHINA-AVC - 2006/5/20 17:33:00
以下引用wdx04在2006-5-20 17:04:33的发言:

有什么不错的?一个虚拟机上的OS,连Asm都不准你用了。


呵呵,那句仅仅是嘲讽而已,没注意到我用了夸张的表情符号吗
wdx04 - 2006/5/20 17:47:00
汗……这类符号我一向只当作普通的标点……
忧郁の丸子 - 2006/5/20 18:22:00
这里没人用JAVA吗?- -|||
蓝空公主 - 2006/5/20 23:14:00
以下引用忧郁の丸子在2006-5-20 18:22:46的发言:
这里没人用JAVA吗?- -|||


用,但是不多
自己用得多的还是C++和Delphi
对Java的感觉总是很矛盾,因为用起来总是感觉限制很大
C#至今不打算用,大概是对那个概念不感兴趣吧
Rinrin - 2006/5/21 10:44:00
以下引用LOVEHINA-AVC在2006-5-20 16:46:48的发言:


能够JIT的OS……听起来似乎不错XDDDD

Visual Studio 2005的IDE就是在.net上运行的吧,俺比较感兴趣的是.net Framwork是如何组织的,比如那个mscoree.dll就是核心组件么?
LOVEHINA-AVC - 2006/5/21 10:55:00
IDE能够在.net上运行,但OS可做不到喔

大致上这个mscoree.dll就是跟msvbvmxx.dll差不多的东西
wdx04 - 2006/5/21 12:14:00
以下引用Rinrin在2006-5-21 10:44:24的发言:
Visual Studio 2005的IDE就是在.net上运行的吧,俺比较感兴趣的是.net Framwork是如何组织的,比如那个mscoree.dll就是核心组件么?

Visual Studio 2005估计只有新增的功能是基于.net的。2005速度明显比2003慢,但关掉某些Intellisense就变快了。
其实我很想知道一般电脑用户都装了哪些.net或Java写的软件...
Miliardo - 2006/5/21 15:37:00
大家是否是把OS的概念想得太复杂了……
想下uC-OS II的例子吧……那也是OS……
具有任务管理、资源管理一类功能的都是OS……
LOVEHINA-AVC - 2006/5/21 16:16:00
先不管这个……
楼上可以告诉我们怎样在.net平台上运行Windows吗
Prz - 2006/5/21 16:23:00
不知道Windows Virtual Server是不是基于.Net的.... 乱弹一下,不要当真.... -v-
cheong00 - 2006/5/21 22:41:00
以下引用Prz在2006-5-21 16:23:55的发言:
不知道Windows Virtual Server是不是基于.Net的.... 乱弹一下,不要当真.... -v-

不是. 用Process Explorer鑑定時沒有變成黃色.
Sonic^Destiny - 2006/5/21 23:16:00
这里程序员不少=V=
123
查看完整版本: C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!