程序设计初体验--我的VC情结!

原创 2005年05月14日 21:14:00

         从我开始写这个程序到现在半年过去了(中间穿插着毕业答辩等琐事),现在已基本完成。感觉自己在技术上有了些长进,把感受写下来吧,有没有人看无所谓,要的是这个过程。

        我是学电出身,大学学了四年应用电子技术结果毕业时三极管都弄不太明白,相反,对单片机兴趣浓厚。研究生两年半除了找了个不错的老婆以外也没什么建树;大家都说我技术上还可以(不知道是不是真心话),但我却很知道我的半斤八两——我是属于“样样通样样松”那种类型的:本科时玩X86汇编、单片机,研究生时玩过DSP、FPGA,做过ISA卡、PCI卡,写过WDM驱动。这不,找了个工作却是个搞激光的单位,后来也不知道怎么的,就混入到写软件的人民队伍中来了。

    也没办法,在这种说国企又不象国企,是企业却更像事业的单位里,就得那里需要那里上:需要程序员的时候我就得整天做在那儿狂敲代码;发设备时我就还得跟一民工似的去打包装....唉!算了!牢骚到此为止,下面言归正传。

    直白的说,我喜欢VC的强大、高效,甚至喜欢它的复杂,能够很好的驾驭它我会有种满足感。而且我觉得它更适合我们——需要写程序却不是所谓“程序员”酱紫的人(从来不敢把自己和程序员联系起来,怕人笑话);用它可以写驱动(呵呵,我喜欢),这对于一个搞硬件出身的人尤为重要;用它可以做核心开发(前提是当你水平很高的时候。什么? 我? 呵呵,算了吧,差远了去了),进程、线程、端口、句柄、IRP、ISR、DPC等等等等....要什么有什么,你会感觉整个系统底层的东西都在你的掌控之下,这种感觉很爽。这就是我在读研期间一直追求的东西。

    然而,当我到单位实习时接到的第一个工作却是纯粹的软件:三维编程、复杂的算法、复杂的数据结构(对我来说)这使我程序设计方面三脚猫的水平暴露无遗,我开始从头学起。程序有三维模型的显示,从来没接触过的东西,最开始尝试着用GDI做显示,速度太慢,后来用DDRAW双缓冲互换,还是慢,再后来用D3D,速度还可以,但需要DIRECTX9运行库,最后,用OPENGL。这就浪费了不少的时间。再有,程序的核心,顶点-三角形模型转点云,听起来很简单,立体几何的东西,但真正实现起来却不那么容易,不仅要求转换的准确性,而且要求速度,这就对程序算法的效率和大量(几十万上百万)数据的组织上提出了较高的要求——同样,这对我又是个难题。链表、双向链表、二维数组+双向链表都试过,最后用的是三维数组;算法上也走了很多弯路,所有能想到的都试过了(哎 ,回头想想,浪费了我多少脑细胞啊!);再有就是图像的抖动,这个相对来说简单些了,因为有现成的算法,但是转出来的图像效果始终不好(这个问题到现在也没解决呢)....

    总结一下,首先,最主要的就是自己对程序的功能没有整体的概念,没有很好的抽象模型,写程序之前没有充分的分析。所以,每个类都是信手拈来,需要什么功能随时添加,类的封装很差,导致了代码混乱,维护起来很难,类内部的数据很多都暴露出来,相互牵连,相互羁绊,牵一发而动全局。

    再有,就是自己的底子薄,对什么东西都是一知半解,所以,不管什么东西用起来都特别生疏。

    但是,我想这些都是一个人成长过程中要经历的东西,所以,我不灰心!

    现在的程序已经开始打包了,虽然还有太多令人不满意的地方。也许有朝一日我会把这个代码重新写一遍,那就不知道是什么时候的事了。

    人总是在不停的折腾,不断的前进,虽然有的时候根本不知道那条路是正确的,但是还是要勇敢的往前走,对也罢,错也罢,只要活得精彩,败又何妨呢!

第三章数程序设计初步--控制结构综合项目4-2文件操作初体验练习4将数据写入文件

上机内容:从english.dat文件中读取学生成绩求出这次考试的平均成绩,统计并输出各分数段的人数                   (优秀:≥90,良好:≥80,中等:≥70,及格:≥60,不...

第三章数程序设计初步--控制结构综合项目4-1文件操作初体验练习1从文件读取数据

上机内容:从english.dat文件中读出学生的成绩,输出最高、最低,以及平均成绩(平均成绩为小数)。                    文件中english.dat中给出的是100名新生入学英...

贺老师《C语言及程序设计初步》网络课程一.4C语言程序初体验项目2圆柱体表面积

任务和代码: /* *Copyright (c)2016, 个人学习 *All rights reserved. *文件名称:Myc4.cbp *作 者:Coco *完成日期:2016年7...
  • cocolyh
  • cocolyh
  • 2016年07月14日 00:05
  • 648

《C语言及程序设计初步》_1.4C语言程序初体验_实践4——温度单位转换

任务和代码 /* *Copyright (c)2017,CSDN学院 *All rights reserved. *文件名称:main.c *作者:胡益林 *完成日期:2017年06月10日 *版本号...

第七周项目一图形用户界面应用程序开发初体验(VC++6.0)

打开VC++6.0 1.File->New->MFC APPWizard(exe)  ,projict name (任取)->OK 2.点击“Dialog based”->next(一直next,...

VC++实现串口通信的应用程序设计

VC++实现串口通信的应用程序设计                           摘 要:本文介绍了结合了Win32 的API 函数和C++类的基本思想封装的一个串行通信类 C...

VC学习笔记1对话框应用程序设计

在VC++6.0环境中创建MFC工程 创建,调用新对话框: 在资源试图Dialog中右键增加新对话框,打开类向导(ctrl+w)会弹出是否加入新的对话框类,选择加入. 然后你该输入类名了...

IMAP协议程序设计入门(VC篇)

IMAP协议程序设计入门(VC篇) 最近在搞邮件接收的程序,网络上找到很多pop3的例子代码,很遗憾,我认识的所有邮箱都不再支持pop3,无奈只能用imap。Imap编程的资料相当匮乏,以至...
  • yichigo
  • yichigo
  • 2012年10月10日 16:51
  • 1548

VC下如何使用GDI+进行图像程序设计

原作者:孙涛 整理 http://blog.csdn.net/suntaoznz   GDI+介绍 Microsoft® Windows® GDI+ 是Windows XP 或...

VC程序设计中可序列化类的实现

内容提要:本文以简单的例子介绍在Visual C++编程中数据读写的基本方法和可序列化类的实现,并简单介绍了Visual C++中序列化的使用。   数据读写是应用程序中必不可少的一部分,V...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:程序设计初体验--我的VC情结!
举报原因:
原因补充:

(最多只允许输入30个字)