Matlab嵌入C++,API,编译与调试

Matlab嵌入C++是很容易的,嵌入C++的matlab在保持易用性的同时,可以加快程序速度。嵌入的C++代码不能直接在matlab中断点调试,需要借助Visual Studio之类的工具进行调试。这篇博客主要以简单的demo导入,介绍如何在Matlab中嵌入C++程序。…

在vtk下使用OpenGL绘图

先挂参考链接 https://blog.csdn.net/zgjorson/article/details/9132559

博主大体上是参照上面博客的,另外加了一些自己实现了功能,博客里面贴的有代码。

和参考博客有点儿不一样,上面博客使用的vtk5.2,博主使用的是vtk7(比起原博客注释了两行代码),另外博主添加了相机视角设置,OpenGL绘图也有区别。…

TeeChart2018 MFC 编译64位应用程序

网上的TeeChart破解只有v5和v8,而v5和v8只能用来编译32位程序,编译64位程序时虽然可以编译通过,但是运行会出错。如果想要编译64位的TeeChart MFC程序,那么就要使用2011年之后的版本。现在,2011年之后的版本没有破解,所以这篇博客只是提供一个评估版本,像是文中的效果,有水印存在,如果仅仅是调试程序,而非用于商业用途应该足够了。

挂上下载链接:TeeChart2018Eval完整包。安装好之后,在安装目录中可以找到32位控件teechart2018.ocx和64位控件x64/teechart201864.ocx,运行regsvr32 teechart201864.ocx注册它们就可以了。控件注册安装和使用与v5和v8一样,参见我前一篇博客。…

TeeChart For MFC 安装与使用

首先挂上下载链接: TeeChart破解版(v5)。然后挂上一个演示工程:MFCTeeChart。然后是TeeChart8_ActiveX及安装使用方法

MFC TeeChart是用来画图的,能查到这个页面来的都知道,就不多介绍。下面抓哟介绍TeeChart的安装和使用。这其中还有一个小问题,就是以上两个版本只能用来编译32位程序,需要编译64位程序需要2011年之后的版本,目前只有评估版本,参见我的另一篇博客。…

使用C++在Windows/Linux下精确计时

在Windows和Linux下有多种计时方式,包括Windows定时器(精度大约在15ms),借助CPU的多媒体定时器(精度在1ms左右)。然而在计算机主板上都有专门的时钟芯片,可以提供极为精确的时间,在选择计时方式时,要考虑到,获取约精确的时间,就要耗费更多的资源,在实际编程时应根据使用条件选择合理的计时方式。这篇博客将介绍Windows/Linux下获取精确时间的方法,并提供一个封装较好的简单计时类。…

进程间通信(内存映射)方式传输CV::Mat图像数据

关于内存映射的进程间通信,我直接一篇博客已经详细介绍过,这里只是再次补充一个传输图像的应用,因为OpenCV中Mat格式较为常用(并且也很方便传输),刚好用到,就做个笔记好了。应用的场景是B进程中的Mat传给A进程,A进程接受并恢复为Mat格式。其它也没什么好说的,有细节为题就参见我之前的博客,那么开始吧。…

MFC/C++多线程

操作系统中线程和进程的概念就不再强调,这篇博客主要介绍在Windows中多线程的创建、挂起、终止、通信、同步,大都是代码层面的介绍,这也是个人的笔记,摘抄自网络。

如果对这些概念不熟悉,建议先移步百度,或者操作系统教材,如果你支持查阅手册或者API参数讲解,那么希望这篇博客能给你答案。话不多说,开始吧。…

算法的嵌入式移植(二)DSP优化

前面一个篇章:算法的嵌入式移植(一)C代码优化部分 侧重语言层面的优化,而更多针对DSP特性进行的优化将在本篇章进行介绍 ,内容大多是摘抄书本和网络资源,因为是整理以往的笔记,来源已经不可靠了,不过不影响其中内容的经典。…

LeetCode_210: CourseScheduleII 拓扑排序

这道题与前一版本207一样,只不过前一版本要求判断是否有环,而当前版本还要给出可行顺序,那么这个问题就自然而然的归为拓扑排序了。这篇博客将对有向图和无向图中是否存在环这一问题进行归纳,并且给出一个较为简洁的拓扑排序代码。拓扑排序,简单的说就是不断将度为0的点提取出来,提取的顺序就是拓扑排序。在算法导论中,给出了DFS和BFS解法,其中DFS采用完成时间倒序作为拓扑排序,我们需要了解拓扑排序问题的解法是多样的,这篇博客给出的代码不算唯一的。…

算法的嵌入式移植(一)C代码优化

一般C/C++的算法代码不适合直接移植到嵌入式设备,需要做一些优化和处理。一方面是出于速度考虑,另一方面是针对嵌入式设备支持的语言特性差异进行修改,还有就是硬件上的考虑,比如就定点DSP而言,就需要将原来的浮点运算进行转化。

近期博主在整理以往笔记,就将算法嵌入式移植这部分差分成两个章节,一是C代码优化部分,二是DSP代码移植部分,第一章节是语言层面的一般而言是适合所有嵌入式设备的,第二章节是和DSP开发环境相关方面的。特此整理,谨供参考。…

LeetCode_174: Dungeon Game 动态规划

做了一道很有意思的题目,要求是从左上角开始,在HP不掉到0的情况下,到达右下角。虽然明显是使用动态规划来解,但是其中隐藏了一些技巧 。这里,如果从左上角开始进行DP将使得问题复杂化,技巧就是反向,从终点开始反向DP,这篇博客将详细这种方法的应用条件。…

LeetCode_134: Gas Station

这道题目可以使用一般的DP来做,但是博主想到的方法更加直接:对于判断是否存在解,直接把数组累加,如果和非负,那么必然存在一个位置,使得从这个位置开始进行累加的所有结构都非负。在进行累加的过程中,找到累加和最小的位置,从这个位置的下一个位置开始,就可以保证在累加过程中,累加曲线的最小值最大(想象积分曲线的过程,积分的终点sum相同,一个先下降再上升,一个先上升再下降)。有点绕,多想想 :)…

算法导论总结(四)字符串运算

刷了150多道题,再来一发总结。再LeetCode中有一类题目,要求直接使用数字字符串进行运算,这类题目掌握技巧之后不容易出错,也比较简单,那么这篇博客将对这类题目进行总结,希望有所帮助。…

LeetCode_068: Text Justification

又是一道通过率不过20%的题,总结这种通过率比较多的题目,发现其中很多原理并不难,导致通过率比较低的原因是各种极端情况,还有就是题目理解和表述不够清晰。比如自己实现Atoi,如果列出要处理的各种情况,写出来并不难。这道题也是一样,其实没什么难度,只是有些情况下,具体说来就是最后一行或者一行的最后一个单词,需要特殊处理。…

LeetCode_131: Palindrome Partition 回文字符串

回文字符串问题可以看做是一个划分链问题,这个和算法导论中介绍动态规划时的矩阵链乘法是一样的,找到一个最优的划分方案。很自然的想到动态规划来得到一个回文串的真值表,然后就是要列举出所有的情况,回溯法可以做到,自然而然的DP+BackTracking解决掉。…

LeetCode_010: 正则表达式匹配 与 044: 通配符匹配

最近在攻略动态规划,在做正则表达式匹配的时候看错了题目,发现写出来的是通配符匹配,后来看了下什么是正则表达式才明白过来。这两道题都是有很多解法的题目,按照标签刷题目还是限制了自己的思路,一开始就没有往其它地方想。事实上,通配符匹配用贪心算法(可以看做一种特殊的动态规划)更合适。…