
【编程语言与算法】
非著名码农
Coding to change the world.
展开
-
设计模式六大原则的理解(一)
面向对象三大特征:封装、继承、多态。原创 2014-05-10 22:58:50 · 1332 阅读 · 0 评论 -
15 Essential Compilers and IDEs for C/C++ Programmers
from: http://designzum.com/2014/02/26/best-compilers-and-ides-for-cc-programmers/15 Essential Compilers and IDEs for C/C++ ProgrammersPosted by vikas on February 26, 2014, filed in:转载 2014-02-28 22:03:02 · 2812 阅读 · 0 评论 -
float转int 四舍五入问题
最近碰到一例客户投诉某款产品某个参数显示误差的问题,经检查发现是软件中浮点数(float)转化为整型数(int)时候未四舍五入造成的。 虽说是小问题但也值得重视,如果是航天飞机/月球探测仪(纯属YY)的软件中出了误差可能后果不堪设想。 /** 问题重现, float强制转化为int, C代码片段**/int i;float f = 12.52;i = (int)原创 2014-02-25 13:14:16 · 49218 阅读 · 3 评论 -
通信协议之序列化
原文链接 http://blog.chinaunix.net/uid-27105712-id-3266286.htmlstevenrao——2012-07-07于深圳通信协议可以理解两个节点之间为了协同工作实现信息交换,协商一定的规则和约定,例如规定字节序,各个字段类型,使用什么压缩算法或加密算法等。常见的有tcp,udo,http,sip等常见协议。协议有流程规范和转载 2014-02-08 14:32:16 · 2543 阅读 · 0 评论 -
最佳日志实践
原文链接:http://www.bitstech.net/2014/01/07/log-best-practice/前言日志用来记录用户操作、系统运行状态等,是一个系统的重要组成部分。然而由于日志并非系统核心功能,通常情况下并不受团队的重视。在出现问题需要通过日志来定位时,才发现日志还存在很多问题。日志记录的好坏直接关系到系统出现问题时定位的速度,同时可以通过对日志转载 2014-01-20 13:40:12 · 2722 阅读 · 1 评论 -
C++语言的15个晦涩特性
C++语言的15个晦涩特性2013/12/30 | 分类: IT技术, 程序员 | 3 条评论 | 标签: C++分享到:20本文由 伯乐在线 - 敏敏 翻译自 Evan Wallace。欢迎加入技术翻译小组。转载请参见文章末尾处的要求。这个列表收集了 C++ 语言的一些晦涩(Obscure)特性,是我经年累月研究这门语言的各个方面收集起来的转载 2013-12-30 15:08:43 · 994 阅读 · 0 评论 -
'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine. 解决方法
原来XP下VS2005的项目转到Win7 64位下的VS 2010下后出现这个问题,之前在32位Win7下没有碰到,经谷歌大神指点,是64位系统不兼容32位Jet Database的原因....貌似装了Office2010 32位版。解决方法一:把项目属性里的目标平台设成X8原创 2011-09-15 11:28:37 · 8260 阅读 · 0 评论 -
【转】.NET Framework各版本比较
版本号发布日期Visual Studio的版本Windows上的默认情况CLR版本发行版的特点1.02002年2月13日Visual Studio .NETNA1.0CLR和基类库的第一个版本1.12003年4月24日Visual Studio 2003Windows Server 2003转载 2012-05-03 13:20:09 · 1135 阅读 · 0 评论 -
嵌入式编程基础----对寄存器的位操作
对寄存器某位置0或置1 #define R (*((volatile unsigned long*) 0xFFFFFFFF))R |= (1R &= ~(1原创 2011-11-21 20:03:01 · 2021 阅读 · 1 评论 -
Ubuntu 11.04下用Wine安装Source Insight
1.安装Wine及依赖Shell代码 sudo apt-get install flex bison sudo apt-get install wine 2. 安装sourceinsight Shell代码原创 2011-09-14 15:47:29 · 1795 阅读 · 0 评论 -
为什么Flash的A0接ARM的A1脚?
为什么Flash的A0接ARM的A1脚?一直奇怪原理图上的Flash芯片(SST39VF1601)的A0脚为什么和ARM7的A1脚相连,而不用A0呢?故意错位一位干啥......原来ARM7是32位的,而这颗Flash是16位的,表示2字节。每次要跳2个字节的话,就是从A1开始开始变化,A0不变。我们可以这样认为,对于16位存储器设计者将A[0]省掉了,每次读取都是2字节一读。原创 2011-11-23 19:26:44 · 1557 阅读 · 0 评论 -
计算机科学中最重要的32个算法
奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请这些科学家投票选出最重要的算法,以下是这次调查的结果,按照英文名称字母顺序排序。A* 搜索算法——图形搜索算法,从给定起点到给定终点计算出转载 2013-06-27 10:10:49 · 1668 阅读 · 0 评论 -
让程序从指定内存处执行
//让程序从0x80000000处执行((void(*)())0x800000000)(); //将0x80000000强制转化为函数指针,然后调用它。 用typedef实现以更直观 typedef void (*FunPtr)() ;((FuncPtr)0x80000000)();原创 2011-11-21 20:32:57 · 1544 阅读 · 2 评论 -
考虑了内存重叠的字符串拷贝函数strcpy
考虑了内存重叠的字符串复制函数char * strcpy(char *dest, char *src){char *d = dest; //backup inputchar *s = src;int count = 0;assert(dest); //非空指针检查assert(src);if(src == dest)return src;count =原创 2011-11-24 15:19:05 · 3656 阅读 · 1 评论 -
嵌入式开发基础----register和volatile关键字
register: 在函数内部定义变量时,默认是auto类型,即分配给变量内存。如果定义一个变量用register关键字,那么编译器尽可能把变量存放在CPU内部寄存器中,这样就不必通过内存寻址来访问变量,提高访问效率 volatile: 这个是嵌入式开发必须知道的。用volatile修饰变量或地址,相当于告诉编译器这个值会随时发生变化,每次使用都要去内存中重新读取它原创 2011-11-21 20:13:14 · 3962 阅读 · 0 评论 -
【转自ce123】Source Insight的一些技巧
转自http://blog.youkuaiyun.com/ce123/article/details/6860738原文作者:ce123 1、背景色选择 要改变背景色Options->preference->windows background->color设置背景转载 2011-10-16 10:22:14 · 1070 阅读 · 0 评论 -
Linux下线程操作函数
#include创建线程[原型]:int pthread_create((pthread_t * thread,pthread_attr_t * attr, void*(*start_routine)(void*),void *arg))[参数] thre原创 2011-09-23 10:25:08 · 887 阅读 · 0 评论 -
C#正则表达式语法规则详解
正则表达式通常包含字母文本(Literaltext)和元字符(metacharacter) 字母文本指的是普通文本如"abcde"可匹配字符串中任何包含"abcde"的字符串。元字符则更加灵活运用通用的表达式匹配所有符合此表达式规律的字符串。C#正则表达式语法一、匹配单个字符 []——从中选择一个字符匹配中间支持的类型:单词字符([ae])、非单词字符([!?,;@转载 2014-06-10 16:40:26 · 9840 阅读 · 0 评论