首页

文章

求编写C语言的软件

发布网友 发布时间:2022-03-23 18:10

我来回答

10个回答

热心网友 时间:2022-03-23 19:39

很偶然的,由于工作关系,我把一些用VC6.0开发的代码用BCB6.0所带的编译器重新
编译了一下.一个意外的结果就是竟然得到了效率差别极大的目标代码.虽然以前也看到过一些关于两者效率的言论,但是当你亲自目睹这样的结果仍然是具有震撼力的.在我的这项工作中,效率不是我所关心的,但是也并非毫无优化的价值.由于这些代码大量使用了stl,因此也就萌生了对不同编译器的stl性能加以比较的念头.我的目标不仅仅是要得到一个定性的概念,而是希望能够有一个定量的结论.即使这些数据精确度不高,从定性到定量,仍然是一个质的飞跃.
在BCB6.0当中的STL已经是采用STLPort了,也就是说源自SGI的STL。这被大家认为是最优秀的STL实现,也许有人会因此认为这样的比较有失公允。不过,我只是比较两个完整的产品,并不关心它利用了何人的成果。如果有人乐意把VC的STL也替换成STLPort再比较,那自然也是很有意义的工作。
指导思想:
为了评价效率问题,通常我会将要测试的内容独立出来,得出若干细节上的效率比较数据,从而,我们可以根据这些测试数据,组合出在实际代码中的可能结果.但是,我并不采取将测试目标完全孤立的办法.我测试的结果不是为做代码优化的程序员提供标准,而是为通常的程序开发提供一个效率方面的参考,提供一个作出某种选择的依据.既然是为通常的编码行为提供参考,我的测试代码也就要体现一般性的使用方法。例如:我不会为了排除跳转语句的干扰而展开代码;不会因为函数调用的开销而避免函数调用;也较少的考虑cache的影响。
除了BCB和VC之间的比较之外,也会做很多同一个编译器内部的比较,例如vector和list之间的比较.
测试数据的筛选:
和以前见过的很多测试不同的是,我对测试结果没有采用取平均值的办法。我的测
试是在Windows2000下做的,不能不考虑多任务环境带来的干扰,例如线程调度。由于每个测试持续的时间很短,如果测试期间恰好发生上下文切换,那么结果就会产生很大的偏差,对于这种偶发性的干扰因素,必须排除。而且,我认为不会因为某种意外因素会降低测试用例的运行时间。所以我采取的筛选方法是做多次测试,选取最快的一个结果。正确的方法是应该剔除明显不合格的测试数据,求平均值及其方差。从我试验的结果来看,选取最小值的办法和求平均值的办法比起来误差<1%,简便起见,选择最小值作为测试结果。
测试方法的一些解释:
做性能测试,首先需要一个定时器。在这里要感谢从csdn的waterflier(水行鸟)那里
学到的的方法http://expert.csdn.net/Expert/topic/1637/1637581.xml?temp=.5418665
采用这个方法,可以精确到一项测试所使用的CPU时钟数,但是大多数情况我没有这么做。我的做法是将一个测试循环若干次(一个较大的次数),得出总的时间。这么做的缺点是引入了循环,可能降低了CPU的效率,也可能影响cache。我对汇编代码优化的知识还停留在8086的水平,前面所谓的缺点也仅仅是猜测。事实上,我没办法测试过于短小的语句,不是因为计时器不够灵敏,而是和并发、cache有关。我在p4 1.8a的机器上做过一个测试,执行i = i + 1;这样的语句,当我逐渐增加语句时,花费的时钟周期是以4个为单位增加的而不是1个,当我每增加5条语句时,花费的时钟周期就增加4。由于所知知识的*,我选择了不那么精确的方法,但是我认为这对测试目标并没有本质的影响。
测试用例:
本来只是想就常用的容器、迭代器和部分算法做一个测试,但发现这样做存在一些问题,过于粗糙。所以,之前要做一些铺垫性的测试,主要目的是对new,delete这样的测试。因为这两个操作对我的测试影响非常大,所以把它提出来,那么在其他的测试中可以估计这两个操作的影响,有利于分析测试结果。
整个测试是按照铺垫性的测试,容器、迭代器测试,算法测试这样的顺序。不过,很多测试并不能这样简单的划分,所以也有部分混合的现象。所有的测试很少涉及到I/O,基本上都是内存中的操作。目前也没并发环境下的测试计划,但是我想这个测试结果对并发环境也有参考价值。
测试环境:
我的测试机器如下:
OS:Windows2000 Server,sp3 CPU:Intel P4 1.8A (实际频率约为1.73)
内存:768M,DDR266 硬盘:wd 800JB
主板:技嘉 GA-8IRX
VC6.0的编译器版本信息如下:
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
BCB6.0的编译器版本信息如下
Borland C++ 5.6 for Win32 Copyright (c) 1993, 2002 Borland:

测试的代码尚未完成,还在断断续续的写着。如果有人需要的话,可以随意索取。我的Email:huaxiaofei@sina.com

热心网友 时间:2022-03-23 20:57

Windows系统的话用TurboC BorlandC VC都可以,VC用的比较多点吧,因为界面友好方便使用。
Linux系统的话用GCC

推荐VC++6.0
下载地址 打了sp6的补丁ftp://cncms.com.cn/VIP/VC++.6.0.with.SP6.ISO

热心网友 时间:2022-03-23 22:32

去我论坛http://sprogram.cn/bbs/thread.php?fid=7下一个,WIN 界面下的TC ,只有3M 大

热心网友 时间:2022-03-24 00:23

MinGW 很小很好用

热心网友 时间:2022-03-24 02:48

很多啊。我这里有DEV-CPP
要不?

热心网友 时间:2022-03-24 05:29

一般都用VC6.0,很好用的,已发至你邮箱,注意查收,记得好评哦.

热心网友 时间:2022-03-24 08:27

http://www.codesky.net/showhtml/4384.htm
密码全是1

热心网友 时间:2022-03-24 11:42

不是吧,怎么又看到你的这个问题
了?上次我不是发给你了吗?我发给你的那个不能用吗?

热心网友 时间:2022-03-24 15:13

MicrosoftVisualC++V6.0
http://www.ote.com/soft/3349.html

热心网友 时间:2022-03-24 19:01

Microsoft
Visual
C++
V6.0
简体中文版
http://www.xdowns.com/soft/38/121/2006/Soft_14069.html
传给你还没你自己下的块哦!
试试吧!
+U
kmose正确使用方法? 单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 楼梯的水泥台阶上可以铺地板革吗 手机腾讯会议共享屏幕播放视频没声 腾讯会议共享屏幕没声音怎么办 微信寄快递怎么取消订单_取消订单方法介绍 300兆宽带用什么路由器好? 请问高分子井盖具体材料有那些?谢谢 井盖骨架有哪些材料 ...一个女主是空姐,她和男主第一次在去巴黎飞机上相遇,约定如果三次... 找一部电影 记得结局是主角上了私人飞机,然后和空姐,可能是情人... 360借条怎么开通? 脚踝系红绳是什么意思 痤疮 痘痘 黑头 粉刺必看的终结绿色治疗 女性脸上有痤疮不能吃皮蛋吗 前事不忘,__ 只可意会,___ 皮之不存,__ __,不为瓦全,__ __,不见泰山... 薪酬:以薪酬战略撬动企业变革内容简介 领先型薪酬策略在实践中的应用 领先型薪酬策略什么是领先型薪酬策略 什么是领先型薪酬策略 第三方支付都有什么 银行用车抵押贷款 雌雄眼的女人不能惹雌雄眼的女人旺夫吗 修缮,与修理的区别 小弟想买一款索尼的笔记本。麻烦各位推荐一下。颜色必须是黑色的,键盘... SONY的笔记本电脑硬盘大概多钱一个 先说谢谢了 sony的笔记本ea38ec 到底用的是什么牌子的内存 尔必达?威刚... 在Sony Style上面买机子,除了鼠标,包,其他东西都全么? 有谁知道SONY的最新最小VGN-UX的笔记本好无好用?介绍下基本功能~!_百度... 怎样让孩子主动找老师补课? 表格列求和公式怎么设置 求和函数公式怎么输入 北京注册成立一个公司需要多少钱 北京公司都是什么 手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 火腿肠怎么做才好吃啊 火腿肠有这么多种做法,这里面的你会哪几种 火腿肠平时有哪些好吃的做法,即能把它做出哪些花样 怎么切香肠好看 火腿肠蛋炒饭怎么做 苹果如何同时用两个微信? 苹果手机可以同时登两个微信吗 苹果手机如何下载2个微信,并且可以同时使用。 怎么做好吃,海楞蹦炖豆腐的家常做法 鲫鱼豆腐汤可以重复顿不 海带豆腐鲫鱼汤的营养价值 鲫鱼海带豆腐汤功效 海带豆腐鲫鱼汤的小贴士 鱼汤和豆腐怎么做才好汤 海带豆腐鲫鱼汤的食物忌讳 鲫鱼豆腐汤的功效和作用分别是怎么样的? 鲫鱼炖豆腐怎么做好吃 海带豆腐鲫鱼汤的介绍 鲫鱼豆腐汤及回锅肉的做法!! 鲫鱼豆腐海鲜菇汤功效 龙虾怎么去脏东西 c语言编程软件 怎样才能让小龙虾里的脏东西自己钻出来?洗的快又干净? 菜鸟初学c语言 用什么软件好? 手机充电时发热怎么回事? 西餐中刀叉怎么用(5) 用C语言编程序要去下载一个什么软件呢? iphone8xs那个小圆点怎么设置 qq说说,已经发了的手机标识还能去掉吗?我已经设置为标识隐藏了,可是已经发了的那条后面还是有 microsoft office excel 中求和怎么弄 教师资格证考试多少分才算通过? excel表格里求和的数据怎么样调出来? 注册安全工程师考试多少分才算及格? 怎么做咸鸭蛋,要腌制几天才可以吃? 咸鸭蛋居然还要煮? 白布鞋发黄有什么快速的办法把它变白 可以使发黄的白色布鞋变白的小窍门 白布鞋洗了发黄怎么办?怎么办才能变白呢? 苹果备份在哪 iphone的备份在哪
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com