编码偶记
文章平均质量分 68
quanben
安能摧眉折腰事双嘎,使我不得开心颜。
展开
-
目前使用BCB的理由
网上有不少批评BCB的文章。我虽没啥水平,但觉得凡批评,大多都是有一定道理的。其实结合本人使用,并综合一些友人(主要有范德成(Robbie T. Mosaic)和张勇(xzb))的意见,发现BCB(主要是相对于VC,不怕人笑话,我觉得在Windows下的其他C++环境,那些mingw都是瞎凑热闹的)的问题的确很多: 1、Bug主要集中于IDE环境。VCL的bug我是没原创 2005-01-30 18:06:00 · 1667 阅读 · 2 评论 -
算法尝试(一)
一、判断两封闭单连通图形A和B关系: 旋转法:取图形A内的任一点X,如果X是B内部的点,则说明A、B相交。否则,连接X和B的边界上点P作线段XP。从X出发,考察从线段XP,作状态(IA,IB),IA和IB非零与否分别表示在A和B的内部与否,初始时为(1, 0),经过A或B的边界分别使IA或IB翻转,如果出现(IA,IB)=(1,1)就说明A、B相交,否则说明A、B不相交。二、判断一个点X是否在N原创 2005-08-27 18:00:00 · 1090 阅读 · 0 评论 -
STL随感
map映射类概念:函数子(functor),比较子(comparator)。函数子是对象化的算法。比较子是一种函数子。关于比较子,用到了一个比较重要的C++技术,就是重载括号运算符。这个运算符的重载一般很少用到,它的思想是把函数调用演化成对象的运算符操作。这样就实现了算法的对象化。将函数(算法)参数化并非STL的创新,在C中就已经有函数指针。例如一个小于运算的函数过程:struct { int原创 2005-10-29 16:46:00 · 1238 阅读 · 0 评论 -
C/C++编程日志
关于宏定义整理(推测)出一些规则,难免有不完整和不正确的地方,以后再逐步修正吧。名称原则:1、后出现的相同定义覆盖前一个。2、同名的宏变量和宏函数属于相同定义。 例:用#ifdef检查时只代入名称。3、在调用的时候要严格按照其定义的格式。 例:函数即使无参也带括号,这个调用包括在预编译中的调用。定义解释原则:1、宏函数解析顺序从外向内,展开顺序是从内向外的。2、宏函数对其参数有保护作用原创 2006-02-11 03:05:00 · 1288 阅读 · 0 评论 -
Clavio
小作品虚拟钢琴在sourceforge上的project:https://sourceforge.net/projects/vpiano/ 目前存在的主要问题: 1 多线程播放占用CPU较大; 2 导出VPO文件可读性差; 3 导出的MID文件不能通行。原创 2006-04-30 17:11:00 · 942 阅读 · 0 评论 -
Intel开发工具之VTune
一般编译的程序在进行VTune的Call Graph分析时会遇到无法找到relocation 错误,只需要加上/fixed:no连接选项即可。原创 2006-10-09 13:09:00 · 1186 阅读 · 1 评论 -
C/C++编程日志
C++析构函数调用原则,明确的子类对象销毁时,后序顺次向上级调用析构函数。 如果祖先类的析构函数是虚拟的,那么所有子类的析构函数也强制为虚拟的,这样保证能正确销毁动态分配的对象。今天发现如果祖先类没有声明虚拟的析构函数,则继承类虚拟析构函数在动态分配对象销毁时不会被调用,这一点需要注意。原创 2006-07-10 06:39:00 · 1329 阅读 · 1 评论 -
Music Workshop (Unix Name: clavio)
在sourceforge上发布的第二个界面工程项目,比virtual piano更实用。有趣的是它以virtual piano的正是名字clavio作为unix name(virtual piano的unix name是vpiano),因为它的界面引擎就被称作clavio。它运用媒体编辑的理念实现MIDI序列的创作,并加入键盘实时演奏记录功能。目前实现大部分关键功能,但作为一个媒体处理软件,原创 2006-08-16 21:18:00 · 930 阅读 · 0 评论 -
Blackfin系列DSP的栈特点
假定函数原型: int test (int r0, int r1, int r2, int ext1); 发生函数调用时,如: // ... test(a, b, c, d); // ... 编译器会将局部变量a,b,c在函数调用附近分别处理到寄存器R0,R1,R2中,而更高的参量,如ext1,则顺次从字节地址SP+0xC位置开始存放。在执行CALL指令调用子程序的时候,堆栈寄存器原创 2007-04-02 10:13:00 · 1172 阅读 · 0 评论 -
浮点数的表示
IEEE 754规定浮点数值表示:x = s * m * 2^e其中s为符号,m是[1, 2)中的小数量值,e是指数。不计符号,于是:log(2, x) = log(2, m) + e近似地:log(2, x) = e编码后的浮点数表示为(S, E(K), M(N))三元组,其中符号:s = (-1)*S量值:m = 1 + M / 2^N指数:e = E - 2^(K - 1) + 1对原创 2007-07-20 18:03:00 · 1211 阅读 · 1 评论 -
一道题目(intel?)
从序列中找四个四字子串形成十进制数使之乘积最大(就是求四个最大的?),我目前只想到如下办法。这个题并不是关于复杂的算法,其本意是要利用并行处理,但目前尚未考虑到(除了其中比较求最小值部分有希望用SIMD)。#include int g_TestString[] = { 8,9,9,0,1,2,8,6,9,8,0,1,7,9,2,3,1,5,2,3,1,7,2,8,9,7,6,8,9,0原创 2007-05-23 09:35:00 · 729 阅读 · 0 评论 -
Problem of Object Model arising from a Ray-trace Model
The purpose of the following code i wrote is to test the feasibility and efficiency of a surface object for regulating bending of light (refract or reflect) in a ray-trace simulator. The first method原创 2007-09-25 23:07:00 · 946 阅读 · 1 评论 -
TopCoder Practices: SkipList
Since topcoder reserves the proprietorship of the problem statement, I will not paste it here, and I do not have time and energy and see any necessity to reinterpret it.My answer, the proof of the cor原创 2008-04-06 14:22:00 · 764 阅读 · 0 评论 -
TopCoder Practices: NotchedWoodBarsPuzzle
I cannot figure out any better solution, for the 500-point problem in practice room "TCO06 Championship Round. It marked the code I pasted below only 150 point, maybe it takes the time difference betw原创 2008-04-08 20:10:00 · 844 阅读 · 0 评论 -
TopCoder Practices: PhoneNetwork
My 300-point answer to the 1000-point problem (TCO06 Championship Round). Incomplete solution, for only as much as 31-fold edge is allowed, which is below 50, the constraint of line number. About 1 we原创 2008-04-14 23:41:00 · 627 阅读 · 0 评论 -
C++边边角角(一)
#include #include struct A{ int a; int b; int c; A() {a=0; printf("A()/n");} A(int _a) {a=_a;} ~A() {printf("~A()/n");} void *operator new[](unsigned int s) // 无论如何 s传递的是大小,而原创 2008-09-05 01:30:00 · 665 阅读 · 0 评论 -
C++边边角角(二)
#include struct Ex{ static int gId; int id; Ex(){id=gId++;printf("Ex()-id=%d/n",id);} Ex(const Ex &e){id=gId++;printf("Ex(e)-id=%d,copy from %d/n", id, e.id);} ~Ex(){printf("~Ex()-id=%原创 2008-09-05 01:54:00 · 716 阅读 · 0 评论 -
Error statistics
DateTypeDescriptionThe scale of the program by thenTime for Locating the problemTime for DebuggingRemarks2008-09-07InconsistencySQL string doesnt go with the data structure definitionthousands of lin原创 2008-09-07 15:08:00 · 723 阅读 · 0 评论 -
About Macro
C or C++ is a language that one can always tweak to dig out something helpful but graceless. Below is an example I recently used to solve the problem of one of my colleagues. I think it is not astound原创 2008-06-25 19:53:00 · 590 阅读 · 1 评论 -
Tiny Tricky Code
1. SwappingThe following piece of code is what I discovered by a glance to what my deskmate was reading:It is about swapping and I think it can be applied to all kinds of data swapping if there is no原创 2008-09-27 21:49:00 · 627 阅读 · 0 评论 -
从Cygwin中取出MinGW for GCC
Cygwin内含MinGW,于是就把原有的MinGW卸载了。但是由于某种原因(原因在最后介绍)gcc在Windows命令行下就不起作用了(运行后并不产生编译结果),即使Path设置正确。 采用掩蔽DLL的方法。将gcc放置于一个新建的文件夹,并运行,会出现缺失DLL,逐个加上这些DLL后能执行通过,但结果仍是无法产生输出文件。估计仍是有相关的DLL没有被链入。但是使用Dependen原创 2008-09-25 12:48:00 · 1127 阅读 · 0 评论 -
Element Picker (C#, Regular Expression)
The following code picks element from a text file according to the pattern specified.It is first used in collecting source file names from a vc project file in order to list them in a common makefile.原创 2008-10-06 15:46:00 · 612 阅读 · 0 评论 -
How to write a simple Makefile
ENVDIR = (SOME PLACE)/ws # the project environmentinclude $(ENVDIR)/tpmakeenv # predefinition by the environment# directory for output filesOS_OBJDIR = (SOME PLACE)/lib# directory for source原创 2008-10-07 09:50:00 · 653 阅读 · 0 评论 -
C# Learners - C# interface polymophism
i was writing a c# program this afternoon, it was no easy job. i found the interface mechanism was involved, which reminded me of the letter robbie had sent to me several weeks ago. it was about c# in原创 2009-02-22 14:48:00 · 648 阅读 · 0 评论 -
Releasing-request problem
/* .. One solution to the releasing-request problem */// this is a non-releasing routine requesting releasing routine_a(){ mutex_lock(mutex); // ... mutex_lock(mutex_r);原创 2008-12-15 11:41:00 · 635 阅读 · 0 评论 -
见鬼,结果还就这样了
原题:(CIA面试题?) (参考链接: http://club.pchome.net/topic_1_15_3420979_1__.html)两个人A和B玩游戏。方法是:A选定一个长度为3的正反序列“正反反”,B选定另一个不同的长度为3的正反序列正正反。现在开始反复丢一枚出现正反的可能性都是1/2的硬币,直到出现A或B选定的正反序列为止。谁的序列出现了,谁就是赢家。问A和B获胜的概率各是多少?原创 2009-03-02 22:39:00 · 714 阅读 · 0 评论 -
MONO Malfunctions?
Here is a piece of code I wrote that fails in running when compiled by MONO. I checked it carefully according to the language specification I have known, and couldnt find any explanation for the fail原创 2009-03-19 22:49:00 · 645 阅读 · 0 评论 -
C# type rebinding, very ngerful
C# type rebinding, a program demonstrating what I can figure out about simulating generic type rebinding in C# (which is so common in C++ programs), it may look stupid, but it really works as intended原创 2009-04-11 20:58:00 · 678 阅读 · 1 评论 -
A Simple RS-232 Serial Port Communication Program
Interaction between target device and PC through RS-232 serial port is proved to be very useful in test process automation. Therefore, the effectiveness and accuracy of the communication along with t原创 2009-10-15 01:38:00 · 960 阅读 · 0 评论 -
About the Monitor object in .NET framework
Object monitor plays a leading role in thread synchronization. Apart from its Enter and Exit methods (equivalent to opening and closing bracket pair after the lock keyword specifying synchronized code原创 2009-11-18 19:39:00 · 547 阅读 · 1 评论 -
DotNet关键知识点——WPF篇(一)(范德成编辑批注版)
1. Journal 的使用Journal 用于在 XAML 浏览器应用程序(XBAP)中维护历史访问页。删除前一访问页只需调当前 NavigationService 对象的 RemoveBackEntry() 即可;而增加一个访问页则复杂得多:1) 实现一个 CustomContentState 的派生类,每个对象对应一个要保存的访问页,其中数据结构用于维护这个历史访问页的数据,在构造的原创 2009-11-18 22:40:00 · 1296 阅读 · 0 评论 -
DotNet关键知识点——WPF篇(二)
1. WPF控件概览控件类型关键基类实例类型说明孤立控件 (Individual Control) ContentControl Content属性,对应一个object,如该元素不继承UIElement,则显示其ToString()字符串内容 Label助记键(Mnemonic Keys):在原创 2009-11-21 15:56:00 · 1514 阅读 · 0 评论 -
DotNet关键知识点——WPF篇(三)
1. 画刷 1.1 渐变画刷(Gradient Brushes) 主要包括线性渐变和辐射渐变,两者都作用在一个矩形填色区域上,用[0,1]×[0,1]覆盖。 线性渐变(LinearGradientBrush ):StartPoint和EndPoint用来指定渐变路径(直线),等色线与渐变路径垂直。用GradientStop单元定义渐变路径上的点,其Color属性为这个点上颜色,Offset属性原创 2009-11-22 23:45:00 · 1248 阅读 · 0 评论 -
DotNet关键知识点——WPF篇(四)
1. 资源和Pack URI体系 MSDN上比较完整的介绍: http://msdn.microsoft.com/en-us/library/aa970069.aspx 使用Pack URI的资源必须以Build Action为Resource(不是工程属性中资源列表里的Embedded Resource,其机制更复杂)加入WPF工程,嵌入程序二进制文件中的资源更新时要重新生成工程。 Pack原创 2009-11-25 00:42:00 · 1285 阅读 · 0 评论 -
DotNet关键知识点——WPF篇(五)
1. 数据绑定(Binding)一般配置 常用的绑定的目标(Dependency Object & associated Dependency Property,目标单元): 内容控件目标:object ContentControl.Content 集合控件目标:IEnumerable ItemsControl.ItemSource 绑定器: Binding ( : BindingBase :原创 2009-11-28 21:56:00 · 2256 阅读 · 1 评论 -
DotNet关键知识点——WCF篇(一)
本章介绍WCF的基础概念。 WCF是.NET 3.0之后主推的程序间的业务导向(Service Oriented)的通信基础架构。 WCF相关的通信协议参考: SOAP 1.2 spec: http://www.w3.org/TR/soap/ WSDL 1.1 spec: http://www.w3.org/TR/wsdl XML Schema primer: http://www.w3.or原创 2010-01-28 14:56:00 · 1046 阅读 · 0 评论 -
DotNet关键知识点——WPF篇(六)
Style和Animation简而言之就是简便(主要基于XAML而非代码)的方式定制变化的动态的界面;而Template则是以简便重用的方式扩展和丰富界面的静态表现。 1. 样式(Style)类 属性: Style BasedOn:样式继承 ResourceDictionary Resources:定义供样式使用的资源 SetterBaseCollection Setters:属性/事件设置器原创 2009-12-01 19:58:00 · 1488 阅读 · 0 评论 -
DotNet关键知识点——WCF篇(二)
服务侧的端点定义。1. 端点定义WCF端点(Endpoint)包含ABC三个方面,对应endpoint记号中的三个属性: 地址(属性address)遵照WS-Addressing标准,由方式(Scheme)、主机(Machine)、端口(Port)、路径(Path)四个部分组成,依照URI的形式。 在服务宿主(Service Host)工程中包含app.config,用以定义服务的端点等信原创 2010-01-28 14:57:00 · 996 阅读 · 0 评论 -
DotNet关键知识点——WCF篇(三)
关于服务的部署和使用。1. 服务的部署控制台部署 配置简单。可配置一个基地址。 配置文件app.config用于配置服务端点等。 以下的IIS和WAS均支持消息首次启动;不需要设置基地址(基地址由网站的虚拟路径决定) IIS部署 .svc文件,必须位于App_Code子目录: C#代码文件也需要在App_Code中;而如选择使用编译后的文件,则将其放在bin子目录中。 配置文件web.co原创 2010-01-28 14:58:00 · 1429 阅读 · 0 评论 -
DotNet关键知识点——WCF篇(四)
WCF的配置 1. 客户端声明式配置端点定义在标签对内,也以ABC为要素,可含name用以命名。Contract根据指向导出的代理(接口)。 端点头信息 在中定义标签对,可含请求的优先级信息标签。 定义端点的元数据 metadata,含policyImporters和wsdlImporters。 端点属性设置 类似服务器侧,在endpoint标签中指定属性bindingConfiguratio原创 2010-01-29 23:03:00 · 1346 阅读 · 0 评论