![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程
zhiweiarm
座右铭:脚踏实地,志存高远
为人诚恳,沉着稳重,富拼搏精神,能吃苦耐劳。工作积极主动、认真踏实,有强烈的责任感和团队合作精神;有较强的学习和适应新环境的能力,求知欲望强烈;勇于迎接新挑战
精通C、C++语言,参与实际项目算法及软件的研发工作:1、处理图像微位移相关(Digital Image Correlation)算法研发;2、纳米三坐标测量机(CMM)测量软件的编写,圆满完成项目预定的目标; 3、熟悉linux系统,有ARM9嵌入式视频监控开发经验
展开
-
Base64加密解密原理以及代码实现
1. Base64使用A--Z,a--z,0--9,+,/ 这64个字符. 2. 编码原理:将3个字节转换成4个字节( (3 X 8) = 24 = (4 X 6) )先读入3个字节,每读一个字节,左移8位,再右移四次,每次6位,这样就有4个字节了. 3. 解码原理:将4个字节转换成3个字节.先读入4个6位(用或运算),每次左移6位,再右移3次,每次8位.这样就还原了.转载 2014-01-21 14:43:19 · 8092 阅读 · 0 评论 -
清空std::stringstream,联系到stream的clear()和清空
stringstream是个好东西,网上有不少文章,讨论如何用它实现各种数据类型的转换(比如把double或int转换为string类型)。但如 果stringstream使用不当,当心内存出问题(我就吃过亏^_^)。 试试下面的代码,运行程序前打开任务管理器,过不了几十秒,所有的内存都将被耗尽!#include #include #include using转载 2014-01-11 14:42:57 · 1237 阅读 · 0 评论 -
std::stringstream 数据转换
C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件。 istringstream类用于执行C++风格的串流的输入操作。 ostringstream类用于执行C风格的串流的输出操作。 strstream类同时可以支持C风格的串流的输入输出操作。 istringstre原创 2014-01-11 14:08:58 · 1379 阅读 · 0 评论 -
ubuntu linux 加载当前目录的动态库
linux的excutable在执行的时候缺省是先搜索/lib和/usr/lib这两个目录,然后按照ld.so.conf里面的配置搜索绝对路径,linux缺省是不会在当前目录搜索动态库的。windows加载动态库的时候,缺省是首先加载本地目录下的动态库,然后再搜索windows/system和windows/system32目录。windows的动态库搜索顺序,虽然有可能会造成潜在的混乱,但是原创 2013-12-10 22:19:26 · 3362 阅读 · 0 评论 -
最牛B的编码套路
最近,我大量阅读了Steve Yegge的文章。其中有一篇叫“Practicing Programming”(练习编程),写成于2005年,读后令我惊讶不已:与你所相信的恰恰相反,单纯地每天埋头于工作并不能算是真正意义上的锻炼——参加会议并不能锻炼你的人际交往能力;回复邮件并不能提高你的打字水平。你必须定期留出时间,集中锻炼,这样才能把事情做得更好。我认识很多杰出的程序员——这是在翻译 2013-12-03 08:55:49 · 795 阅读 · 0 评论 -
gcc 链接参数 解释
-l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名了 好了现在我们知道怎么得到库名,当我们自已要用到一个第三方提供的库名字libtest.so,那么我们只要把libtest.so拷贝到/usr/lib里,编译时加上-lte原创 2013-12-09 19:42:22 · 1835 阅读 · 0 评论 -
Step By Step(Lua调用C函数)
Lua可以调用C函数的能力将极大的提高Lua的可扩展性和可用性。对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过C函数来实现,之后再通过Lua调用指定的C函数。对于那些可被Lua调用的C函数而言,其接口必须遵循Lua要求的形式,即typedef int (*lua_CFunction)(lua_State* L)。简单说明一下,该函数类型仅仅包含一个表示Lua环境的指针作转载 2013-07-29 17:56:41 · 475 阅读 · 0 评论 -
LUA函数和C函数的相互调用
1. 简介LUA和C之间的函数调用也是基于上一节提到的栈。1.1 从C程序调用LUA函数LUA的函数和普通变量一样也是First Class Variable类型,可以看作函数指针变量参与栈操作。因此调用过程分为如下几个步骤:请求LUA函数(指针)入(GLOBAL)栈。 将函数需要的参数入栈,入栈顺序按照参数被声明的顺序。 告知LUA虚拟机入栈参数的个数、函数返回值的个数,并调原创 2013-07-29 10:56:09 · 754 阅读 · 0 评论 -
mapreduce原理【应整理到一起】
理解mapReduce从可以理解的角度来谈MapReduce。 Wiki给出的定义:"Map" step: The master node takes the input, partitions it up into smaller sub-problems, and distributes them to worker nodes. A worker node may do原创 2013-08-01 19:31:19 · 613 阅读 · 0 评论 -
Lua调用C函数
Lua可以调用C函数的能力将极大的提高Lua的可扩展性和可用性。对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过C函数来实现,之后再通过Lua调用指定的C函数。对于那些可被Lua调用的C函数而言,其接口必须遵循Lua要求的形式,即typedef int (*lua_CFunction)(lua_State* L)。简单说明一下,该函数类型仅仅包含一个表示Lua环境的指针作原创 2013-07-29 17:27:54 · 1621 阅读 · 0 评论 -
外星人计算Pi的程序
一、源程序本文分析下面这个很流行的计算PI的小程序。下面这个程序初看起来似乎摸不到头脑,不过不用担心,当你读完本文的时候就能够基本读懂它了。程序一:很牛的计算Pi的程序int a=10000,b,c=2800,d,e,f[2801],g;main() { for(;b-c;) f[b++]=a/5; for(;d=0,g=c*2;c -=14,printf("%.4d",e+原创 2013-04-29 19:09:16 · 659 阅读 · 0 评论 -
c++ 统计英文文本中每个单词的词频并且按照词频对每行排序
前几天写了Apriori算法之后效率很差,在网上查了很多资料,另外的最大模式挖掘算法一般有FP-Growth 和 Ecalt 算法,这两种效率比较高而FP-Growth算法构建FP-Tree的过程非常复杂,后来在网上找到了另外一种效率更优化且结构更简单的算法,那就是北大邓志鸿老师的PPV算法,看了论文以后觉得这确实是一个好的算法,因此打算加以实现。在实现的第一步就卡住了。在构造PPV-TREE/转载 2013-04-29 11:48:34 · 2145 阅读 · 0 评论 -
LUA TABLE 遍历数组的应用
当我在工作中使用lua进行开发时,发现在lua中有4种方式遍历一个table,当然,从本质上来说其实都一样,只是形式不同,这四种方式分别是:for key, value in pairs(tbtest) do XXX end for key, value in ipairs(tbtest) do XXX end for i=1, #(tbte转载 2013-02-21 13:40:03 · 9994 阅读 · 0 评论 -
Lua语言教程2
Lua 语言的简单介绍 文章来源于http://www.lupaworld.com1. Lua的特点Lua 是一个小巧的脚本语言。作者是巴西人。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。它的主页是 www.lua.org。Lua最著名的应用是在暴雪公司的网络游戏WOW中。Lua脚本可以很容易的被转载 2013-02-20 14:35:30 · 597 阅读 · 0 评论 -
哈希表学习
我们知道:哈希表是一个固定大小的数组,数组的每个元素是一个链表(单向或双向)的头指针。如果Key一样,则在一起,如果Key不一样,则不在一起。哈希表的查询是飞快的。因为它不需要从头搜索,它利用Key的“哈希算法”直接定位,查找非常快,各种数据库中的数据结构基本都是它。但带来的问题是,哈希表的尺寸、哈希算法。 哈希表的数组是定长的,如果太大,则浪费,如果太小,体现不出效率。合适的数原创 2013-02-15 22:02:09 · 687 阅读 · 0 评论