![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
VC/C++
张友邦
微软认证专家,系统分析员,希赛网专业顾问,CCF会员,IEEE会员。1980年生于四川宜宾,2002年国防科大宇航系本科毕业。2003年底创业,07年卖掉公司后曾在多家公司任CTO,09年至2011年于新加坡南洋理工大学任研究员,回国后继续IT方面的创业。主要领域有软件架构与设计、流媒体、云计算、社会网络及大数据等。
展开
-
VC6模拟C#的Anchor
本文属spanzhang原创,其blog地址为:http://blog.csdn.net/spanzhang。引用请注明出处,谢谢!!用C#写Windows程序的时候,我们可以注意到里面有个很有意思并且很有用的东东“Anchor”。它可以被指定为“Top, Bottom, Left, Right”的组合。这个东西可以简化我们的界面上的很多工作,很多时候都可以不用对布局写代码。以下是我在VC6里给出原创 2005-02-17 15:52:00 · 1038 阅读 · 0 评论 -
One More Time Encountered Memory Leaks
Microsoft Visual C++ reported memory leaks in my program. I embeded some components downloaded from internet to my program and thus got the damn memory leaks. 我不活了!!!!strcore.cpp(118) : {2297} norma原创 2007-03-30 12:29:00 · 1172 阅读 · 0 评论 -
VC8与Vista的一个小问题——并行配置不正确
FMF转到VC8环境后,我测试了一下在Windows 2000和Vista下的运行情况。Windows 2000下能很好的运行,只需要把MFC80的相关DLL放过去就OK了。但在Vista下却没法运行,报得错误是程序的并行配置不正确。后来我估计是WINVER的问题,因为在用VS2005编译的时候注意到了一个提示:WINVER not defined. Defaulting to 0x0502 (W原创 2007-06-28 17:05:00 · 4844 阅读 · 0 评论 -
VC6工程转换到VC8,FerryMan Fractal遇到的麻烦
我终于决定将FMF转换到VC8环境下开发了,今天花了一下午的时间就做了这么件事情,哎!其中遇到了一些问题,列举如下:1、缺少libc.lib解决这个问题的方法是去掉链接到libc.lib,具体地点:项目-〉属性-〉配置属性-〉链接器-〉忽略特定库。2、unresolved external symbol __iob这个__iob找不到的问题费了我大部分的时间。跟踪到stdio.h文件,发现原创 2007-06-26 17:19:00 · 3258 阅读 · 1 评论 -
配置不正确与清单文件manifest
上次把FMF转到VC8后在Vista操作系统上运行时遇到的配置不正确的问题,我当时是采用重新定义缺省的WINVER来解决的。但这只解决了一部份问题,因为生成的程序只能在Vista上运行而不能在XP或者2003上正确运行了。后来查了些资料,确定是清单文件在作怪。由于VC6的工程port到vc8后,缺省会嵌入清单文件到生成的二进制文件中。我采用的办法是:1、把所用项目的生成清单文件(在连接选项处)原创 2007-07-02 11:16:00 · 7145 阅读 · 0 评论 -
Some Changes to FMF
1). Ported the source code to VC8 environment. The setup file is now enclosed with MFC dll files. Any 32-bit Windows platform is good enough for running FMF. But this caused a lage setup file in resul原创 2007-07-03 20:22:00 · 939 阅读 · 0 评论 -
Render to Disk
花了点时间为FMF做了个Render to Disk功能,其实实现起来挺简单的,只要把渲染的结果写入到文件而不是放到显示缓冲区就可以了。目前只支持输出到BMP,可能以后会追加JPEG和PNG的支持,不知道有没有必要花费力气去做PSD的输出。还有些地方需要完善,例如渲染完成后的处理方面。最新的程序,请到http://www.ferrymanfractal.com下载。原创 2007-07-08 09:35:00 · 926 阅读 · 0 评论 -
FerryMan Fractal V1.5
这是第一个Full Functional版本,界面的命令全部实现了。进一步的工作就不知道要什么时候才会做了。。。。http://www.cgpad.com上放的是1.3版的,看什么时候方便了就把1.5的也放上去。原创 2007-04-27 05:24:00 · 935 阅读 · 0 评论 -
实现了一个简单的语法分析器
今天实现了一个简单的语法分析器,支持的数据类型只有double,流程控制有if、while、break、return。支持一些内嵌的API,如cos、sin等。允许C++风格的双斜杠注释以及C风格的/* */注释。可以在函数内部定义局部变量,不一定要在函数开始的地方。/* This is a test script */double func1(double arg1) { return原创 2007-08-16 21:46:00 · 1491 阅读 · 0 评论 -
学习编译理论,实现DSL
准备为FMF实现一个脚本插件,可以通过编写脚本的方式来实现各种分形组件。以前做过一个,用的是Microsoft Script Control结合javascript,但速度慢得让人无法接受。由于分形是计算密集型的,打算实现一个嵌入式的DSL (Domain-Specific Language)。以前从来没有接触过这方面的内容,上学的时候也没有学过相关的课程,对程序语言和编译理论的了解几乎为零。要原创 2007-08-15 13:37:00 · 1264 阅读 · 0 评论 -
分形专用语言开发完毕
FMF的嵌入式DSL的核心基本上开发完毕了,正如以前所设想的,语言运行的时候是直接在语法树上执行的。流程控制语句只有if/else if/else以及while循环,break和return等。程序的语法类似javascript,只支持复数类型,输入的浮点数和整数都会被当成复数处理。用关键字var来定义临时变量,一条语句只能定义一个变量,定义变量的时候允许赋值。可以用[real_part_ex原创 2007-08-17 23:54:00 · 1441 阅读 · 0 评论 -
Bicubic Interpolation (双三次插值)
在Wikipedia (http://en.wikipedia.org/wiki/Bicubic_interpolation) 上找到了bicubic的描述,不过它只给出了知道导数情况下的公式。后来在CSDN上找到了C语言的算法描述(http://topic.csdn.net/t/20021118/15/1186136.html),改造了一下做了个测试。他没有给出插值样条,通常使用sin(x *原创 2007-08-29 22:14:00 · 12610 阅读 · 6 评论 -
RichEdit打造完美语法着色器
由于不需要显示Outline内容,使用RichEdit来制作语法着色器成为大多数人的首选。但这中间也有很多问题需要一个一个的解决:1、解决闪烁使用LockWindowUpdate是不能完好解决这个问题的,必须用SetRedraw。2、处理Tab键缺省的Tab键处理不会在编辑框中插入/t,有人使用PreTranslateMessage来截获WM_KEYDOWN。这个方法可行。我使用的方法是重原创 2007-08-28 16:20:00 · 2199 阅读 · 1 评论 -
OnMouseWheel
原来OnMouseWheel传进来的参数中的鼠标位置是屏幕坐标系中的位置,这点和其它几个鼠标事件的参数有点不一样。yun!原创 2007-06-02 22:19:00 · 2185 阅读 · 1 评论 -
CTime之Format
The format argument consists of one or more codes; as in printf, the formatting codes are preceded by a percent sign (%). Characters that do not begin with % are copied unchanged to strDest. The LC_TI转载 2007-06-02 09:55:00 · 1638 阅读 · 0 评论 -
How to accelerate ScriptControl's procedure call in VC 6.0?
When using VC 6.0 to develope script supported programs, I prefer ScriptControl (msscript.ocx). It supports JScript and VBScript. This is a very good feature. If you decided to use it in your program原创 2007-03-28 01:00:00 · 1017 阅读 · 1 评论 -
A problem with ScriptControl
使用AddCode方法将一些代码(JScript)添加到ScriptControl的global模块中,然后使用如下两句话来得到代码中的过程记数。IScriptProcedureCollectionPtr pIProcedures = m_pScript->GetProcedures();long count = pIProcedures->GetCount();当添加的代码中没有全局变量而只原创 2007-03-28 13:45:00 · 978 阅读 · 0 评论 -
Pedal Point源码发布及说明(2)
本文属spanzhang原创,其blog地址为:http://blog.csdn.net/spanzhang。引用或转贴请注明出处,谢谢!!Pedal Point是基于DirectDraw用VC6开发的一款源码开放软件。下面将对其主要流程加以解释。一、系统总体流程在系统初始化阶段主要包含如下几个步骤:1、初始化随机数发生器;2、初始化DirectDraw;3、生成图源对象;4、初始化所有扩散算法;原创 2005-02-19 11:22:00 · 963 阅读 · 3 评论 -
Pedal Point源码发布及说明(3)
本文属spanzhang原创,其blog地址为:http://blog.csdn.net/spanzhang。引用或转贴请注明出处,谢谢!!Pedal Point的所有文件打包放在了中国游戏开发者论坛上了,需要的请自己下载:http://bbs.chinagamedev.net/attachment.php?attachmentid=3350原创 2005-02-19 11:46:00 · 1011 阅读 · 3 评论 -
C++元编程以及TML解析
本文属spanzhang原创,其blog地址为:http://blog.csdn.net/spanzhang。引用或转贴请注明出处,谢谢!!C++ Meta Programming基本上都是用template来做,它是Generic Programming的一种。个人认为这个东西在实际的开发中不是特别有用,至少我还没有实际用过。TML(Type Manipunation Library)是作者开发原创 2005-02-20 12:44:00 · 1740 阅读 · 4 评论 -
Pedal Point源码发布及说明(1)
本文属spanzhang原创,其blog地址为:http://blog.csdn.net/spanzhang。引用或转贴请注明出处,谢谢!!Pedal Point是我在无聊的是时候写的一个屏幕保护程序。接下来的一个系列我将发布该程序的Final版本,并做简单的原理说明。还是先看一下screenshot吧: 0) this.style.zoom=zoom+%;" src="http://blog原创 2005-02-19 09:54:00 · 1000 阅读 · 0 评论 -
Julia集合计算机着色
本文属spanzhang原创,其blog地址为:http://blog.csdn.net/spanzhang。引用或转贴请注明出处,谢谢!!以下图片使用VC6.0编程产生:原创 2005-02-28 19:01:00 · 966 阅读 · 1 评论 -
模式对话框中使用快捷键
1、在类文件中添加成员:HACCEL accelTable;2、初始化的时候读入快捷键:accelTable = LoadAccelerators(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_ACCELERATOR1));3、BOOL spanFractalDlg::PreTranslateMessage(MSG* pMsg) { if (accelT原创 2005-03-01 20:12:00 · 891 阅读 · 0 评论 -
分形着色算法改进
本文属spanzhang原创,其blog地址为:http://blog.csdn.net/spanzhang。引用或转贴请注明出处,谢谢!!程序下载地址:http://bbs.chinagamedev.net/attachment.php?attachmentid=3389下面几幅图是改进着色算法后的结果:原创 2005-03-02 11:14:00 · 1338 阅读 · 2 评论 -
spanFractal V1.4
spanFractal经过很长时间的搁置,重新拾起,作了几张图片。................原创 2005-07-09 16:21:00 · 938 阅读 · 0 评论 -
分形集合放送
本文属spanzhang原创,其blog地址为:http://blog.csdn.net/spanzhang。引用或转贴请注明出处,谢谢!!以下的几张图片全部使用spanFractal V0.5生成。该版本目前还比较幼稚,所用的着色算法也比较单一。特别是在迭代过滤方面还很欠缺。等1.0版本出来后我再将程序放出来。原创 2005-03-14 19:36:00 · 1153 阅读 · 4 评论 -
复分形四期
本文属spanzhang(张友邦)原创,其blog地址为:http://blog.csdn.net/spanzhang。引用或转贴请注明出处,谢谢!!spanFractal有了1.0版,但感觉和国外的很多作品还是有很大差距。采用log10附加变换得到原创 2005-03-27 00:44:00 · 1225 阅读 · 4 评论 -
spanFractal V1.0发布
本文属spanzhang(张友邦)原创,其blog地址为:http://blog.csdn.net/spanzhang。引用或转贴请注明出处,谢谢!!http://bbs.gamedev.csdn.net/showthread.php?t=10055原创 2005-03-30 14:53:00 · 879 阅读 · 0 评论 -
spanFractal V1.1发布
下载地址:http://bbs.gamedev.csdn.net/attachment.php?attachmentid=2231、增加了信号同步处理,每次修改参数后取消前一次的绘图操作。(根据网友“接近无限透明”意见修改)2、采样率增加了反方向的值,提供了Preview支持。3、提供文件保存与读取支持,后缀为“sfd“(spanFractal Document)。4、新增两个滤镜,对捕获值作处理原创 2005-04-05 10:25:00 · 869 阅读 · 0 评论 -
数学制造
新版的spanFractal还在思考中,但最近实在太忙,连睡觉的时间都不多,更不用说玩这些个玩意了。整体来说,新版的程序主要的改进是在整体框架方面,完全摒弃了以前的滤波器概念。下面给出的图片是一张试验性的,程序还没时间来开发,估计要等比较长的时间才能面世了。不过这东西本来就是拿来玩的,什么时候出来都一样。............图片是由spanFractal V1.3 Prebuild产生出来的,原创 2005-04-28 20:20:00 · 1110 阅读 · 0 评论 -
VC6 编译优化
VC6编译优化时可能造成的问题:1、C1001编译器内部错误;2、程序运行异常。原创 2005-11-30 11:39:00 · 1051 阅读 · 0 评论 -
函数返回设计以及错误处理
本文属spanzhang(张友邦)原创,发布地址为:http://blog.csdn.net/spanzhang。转载请注明原文出处,否则我就死给你看。 今天在闲逛的时候发现一篇文章,zhuweisky写的《函数设计之美--函数需要返回错误码吗(一)?》(http://blog.csdn.net/zhuweisky/archive/2005/09/08/475355.aspx)。文章主要对函数原创 2008-03-03 10:08:00 · 2146 阅读 · 1 评论