- 博客(164)
- 资源 (3)
- 收藏
- 关注
原创 OpenCV 学习
入门非常友好:https://github.com/ex2tron/OpenCV-Python-Tutorial非常详实:https://github.com/gzr2017/ImageProcessing100Wen参考:https://github.com/JimmyHHua/opencv_tutorialsOpenCV 中文网络,资料比较老:http://w...
2020-03-12 15:53:17
355
原创 grep 正则表达式
正则表达式元字符:^ 以什么开头$ 以什么结尾, 例: grep '^$' 表示搜索空白符. 匹配一个字符* 匹配若干字符, 例: grep '.*' 表示搜索任意字符[] 匹配集合中的字符[x-y]匹配集合范围内的字符[^ ] 匹配不在集合内的字符\ 转义符合, 例: grep 'love\.'特殊的元字符:\< ...
2020-03-03 10:37:58
787
原创 也谈为什么面向对象很糟糕
其实我的编程之路应该是自学的:二十年前中学时上过一次微机课,大家照着课本用BASIC播放了音乐,然后编程的神奇勾起了我少年的好奇。后来微机课基本没上了,自己去新华书店买了一本PASCAL编程的书籍,因为没有电脑,这本书放在我的枕边,始终不得入门。但到高中时,神奇的事情发生了:某天突然无聊又捧起这本书看,看着看着我突然发现我看懂了,而且学会了编程。事情就是这么神奇:我是通过PASCAL学会的编程,但...
2019-12-20 15:04:42
752
转载 ISO17356标准简介
Introduction OS Architecture of the operating system Task Management Application modes and system start-up Interrupt processing Events Scheduling Resource Management Miscell...
2019-11-08 11:03:25
2840
原创 Docker 安装
Windows 10家庭版安装1.到官网下载最新的软件https://docs.docker.com/docker-for-windows/install/需要先注册账号后,跳转到安装提示失败“Docker Desktop requires Windows 10 Pro or Enterprise version 15063 to run.”2.说是家庭版需要先安装Doc...
2019-10-13 10:39:12
502
原创 EA 学习总结
建模的层级结构: model->view->diagram->package->element (模型->视图->图表->包(文件夹图标)->元素),package是比较特殊的存在Table of ContentsView种类关系包版本控制文档生成代码生成脚本/自动化View种类Simple:自定义,如需求啊,反正...
2019-10-11 14:03:01
975
转载 解读:整车电子架构防火墙需求定义
自动驾驶、V2X、OTA等技术的更迭发展,整车拓扑上势必会增加大量ECU模块,同时数据加密等的技术引入,都将导致现有的车辆电子架构将越来越无法满足功能需求。针对未来的整车电子架构设计,Domain Controller的引入,使得对现有车辆架构的集成度以及降本上,有了极大的推动。但新架构也使车辆暴露出更多通信端口,也就是新的安全风险,此时全新的车辆防火墙策略刻不容缓。Domain架构概...
2019-09-30 14:37:30
708
原创 python2.7安装requests模块
因为python2快要不被维护了,所以安装相应库还费了一些周折。首先公司电脑不能安装软件,PYTHON2也不是安装的,是KANZI里的一个版本,没有request模块,目前需要用到。但后来又发现没有setuptools模块。1.所以先安装setuptools:https://pypi.python.org/pypi/setuptools下载了setuptools-0.6c11版本...
2019-09-30 13:23:59
12851
1
原创 Python 实现端口扫描
突然发现用python随意得写写代码也还是不错的:不考虑代码的严谨性; 不考虑面向对象的事情,突然又找到了当初学习C语言时的感觉import osimport sysimport timeimport socketfrom multiprocessing import Queueimport thread as _threadstar_time = time.time()hos...
2019-09-23 17:39:45
349
原创 信号槽原理
闲来无事,模仿QT的信号槽函数写了一段代码:#include <iostream>using namespace std;typedef void (*slotType)(void);#define emitclass A{public: A(){slot = NULL;} static void Clicked(void) { sl...
2019-08-09 12:44:38
428
转载 ROS使用方法摘要(基本命令)
版权声明:本文为博主原创文章,转载请标明出处: http://www.cnblogs.com/liu-fa/p/5761448.html该博文适合已经具备一定的ROS编程基础的人,快速查看ROS相关指令。本文持续更新中,望关注收藏,一起改进...创建 ROS 工作空间启动 ROS$ roscore创建工作环境$ mkdir -p ~/catkin_ws/src$ cd ~/catkin_ws/s...
2018-06-25 15:38:30
3259
转载 ROS 不能再详细的安装教程
最近在看ROS相关的一些资料,在Ubuntu14.04操作系统下尝试安装了一下(一开始的操作系统是Ubuntu12,据了解ROS Indigo比较稳定,就花半天时间升级了Ubuntu)。具体安装指导可以参考WIKI的官方文档:http://wiki.ros.org/indigo/Installation/Ubuntu本想写一下学习笔记,但既然有人已经写过而且写得又好,那么我秉着不重复造轮子的原则,...
2018-06-25 15:27:55
790
转载 VS Code + Python
因为工作大部分时间是在WINDOW下的,如果不使用notepad++或是sourceInsight的话,我想我会选一个更简单易用的工具的。因此选择 VS Code。VScode下载地址安装python插件打开VScode,Ctrl+Shift+p 或者 Ctrl+Shift+X输入 "ext install python",搜索时间可能会比较长选择下载量最高的那个插件点击安装(根据网络情况,安装时...
2018-06-14 16:10:16
1649
原创 Sublime 与Python 学习
虽然还不至于马上淘汰,但也需要更新我的知识库了,因此最近在学习Python这个简单的脚本语言。本来使用的编辑器一直是notepad++、sourceInsight、vim的,既然连语言都开始学习新的了,连编辑器也开始学习一个新的工具。听说Sublime进来很火,那就尝试一下。然后发现,Sublime其实并没有比vim简单多少啊。就比如我想搭建一下python的开发环境:1.安装Python 3去官...
2018-06-14 14:16:30
418
原创 漫谈软件工程(1)——回顾十年软件开发经历
软件工程专业毕业,从事软件开发工作将近十年了,近来我重看一些软件工程书籍,回顾着这些年的软件开发经历,越发有一种冲动:结合这些年软件开发的经历,倾述当前软件过程管理中的行业现状。当然我所说的并不一定就是正确的,权当作是一种经验总结。 回顾十多年前,软件开发工作还是由英雄人物似的程序员主导,一个牛X的程序员就可以完成一个软件项目。但软件发展到今天,一个软件或一个系统动辄都是几十万行上...
2018-06-01 16:00:53
2092
1
原创 i.MX6q+QNX(学习笔记二)
QNX是加拿大黑莓公司的一款商业版的微内核实时操作系统。因此首先要清楚知道QNX的任务调度机制,一种优先级抢占的任务调度机制,在同优先级的情况下又有三种调度机制可供灵活选择:1.FIFO 2.时间片轮询调度 3.适应式调度。除此之外,还需要了解QNX的一个特色:动态时间分区(Adaptive Partitioning).知道微内核的概念就好理解QNX了:除了Microkernel做内核存在外,其他...
2018-05-28 15:00:21
3071
1
原创 i.MX6q+QNX(学习笔记一)
QNX支持的板卡还是挺多的,可以在http://community.qnx.com/sf/wiki/do/viewPage/projects.bsp/wiki/BSPAndDrivers板载驱动下载地址:http://community.qnx.com/sf/wiki/do/viewPage/projects.bsp/wiki/FreescaleImx6QSabreSmart?showDetail...
2018-05-25 11:13:33
4504
转载 RTLinux编程总结
主要是RTLinux环境下编程总结,在嵌入版发过,没几个人响应。做过一个有关RTLinux的项目,时间一长,差不多忘光了,现在尽量把原来做过的东西总结一下,以备后用,同时正在做类似项目的一个借鉴平台主机:redhat 8.0 目标机:PC104模块、ISA总线脉冲输出、实时串口通信 linux-2.4.18.tar.bz2 +rtlinux-3.2-pr
2016-05-11 16:38:16
5949
转载 什么是真正的实时操作系统
做嵌入式系统开发有一段时间了,做过用于手机平台的嵌入式Linux,也接触过用于交换机、媒体网关平台的VxWorks,实际应用后回过头来看理论,才发现自己理解的肤浅,也发现优快云上好多同学们都对实时、嵌入式这些概念似懂非懂,毕竟如果不做类似的产品,平时接触的机会很少,即使做嵌入式产品开发,基本也是只管调用Platformteam封装好的API。所以在此总结一下这些概念,加深自己的理解,同时也给新手
2016-05-11 08:58:25
717
转载 Linux 查看系统硬件信息(实例详解)
inux查看系统的硬件信息,并不像windows那么直观,这里我罗列了查看系统信息的实用命令,并做了分类,实例解说。cpulscpu命令,查看的是cpu的统计信息.blue@blue-pc:~$ lscpuArchitecture: i686 #cpu架构CPU op-mode(s): 32-bit, 64-bi
2016-04-20 17:03:45
481
翻译 Goto语句还是被认为是有害的吗?
Is goto Still Considered Harmful?By Larry Seltzer, March 11, 2014Apple's recent security bug was traced to a spurious goto. But that still doesn't resolve the debate over its use.最近苹果的安全
2015-08-07 18:27:47
9397
转载 Linux下gcc工具
1、nm [options] file 列出file中的所有符号功能列出.o .a .so中的符号信息,包括诸如符号的值,符号类型及符号名称等。所谓符号,通常指定义出的函数,全局变量等等。使用nm [option(s)] [file(s)]有用的options:-A 在每个符号信息的前面打印所在对象文件名称;-C 输出dem
2015-04-17 10:10:01
1125
转载 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)
1、安装Vim和Vim基本插件首先安装好Vim和Vim的基本插件。这些使用apt-get安装即可:lingd@ubuntu:~/arm$sudo apt-get install vim vim-scripts vim-doc其中vim-scripts是vim的一些基本插件,包括语法高亮的支持、缩进等等。vim中文帮助文档tar包下载地址:http://sourceforge.net/pr
2015-04-01 09:20:57
526
转载 Linux中源码安装编译Vim
Linux下学习工作少不了编辑器,Vim能使你的工作效率成倍的提高。在Ubuntu上安装vim使用命令直接安装很简单。但有时还是需要自己手动编译安装。例如: vim中的杀手级插件——YouCompleteMe 要求Vim版本为7.3.548或者更高,自己升级成全功能的最新版,需要通过源码编译安装。自己在编译安装的过程中也查阅了很多资料,这里将整个编译安装的过程记录下来。推荐阅读:
2015-04-01 09:20:39
1486
转载 Linux下缓冲区溢出攻击的原理及对策
本文首先向读者讲解了Linux下进程地址空间的布局以及进程堆栈帧的结构,然后在此基础上介绍了Linux下缓冲区溢出攻击的原理及对策。前言从逻辑上讲进程的堆栈是由多个堆栈帧构成的,其中每个堆栈帧都对应一个函数调用。当函数调用发生时,新的堆栈帧被压入堆栈;当函数返回时,相应的堆栈帧从堆栈中弹出。尽管堆栈帧结构的引入为在高级语言中实现函数或过程这样的概念提供了直接的硬件支持,
2015-01-26 18:34:41
722
转载 缓冲区溢出攻击实验
【实验要求】1)基本要求:编写一个能实现缓冲区溢出(整数溢出或堆栈溢出)的程序。语言不限(c,c++,c#,java等均可),环境也不限(linux或windows等)。并在调试状态下(如linux的gdb或其他集成开发环境的调试命令)查看寄存器和相应存储单元内容的变化情况。分析并解释缓冲区溢出的原因。提交:分析文档(要给出调试过程和运行过程中的一些必要的截图)
2015-01-26 18:33:48
1917
转载 缓冲区及缓冲区溢出
这几天看到经常看到缓冲区这个概念,今天上网搜了一下,对缓冲区作出以下解释。 缓冲区 1,概念篇 缓冲区是一个逻辑上的概念,几乎所有的存储设备都有缓冲区,比如硬盘,系统可以指定给硬盘一定量的缓冲区,直到该区存满数据后再写入硬盘,这样可以避免频繁写盘。但大多数情况下,我们所说的缓冲区是指物理上的缓存。比如现在常见的160G串口硬盘通常的缓存就是8M,DVD刻录
2015-01-26 18:31:51
1256
转载 使您的软件运行起来: 防止缓冲区溢出
C 中大多数缓冲区溢出问题可以直接追溯到标准 C 库。最有害的罪魁祸首是不进行自变量检查的、有问题的字符串操作(strcpy、strcat、sprintf 和 gets)。一般来讲,象“避免使用 strcpy()”和“永远不使用 gets()”这样严格的规则接近于这个要求。今天,编写的程序仍然利用这些调用,因为从来没有人教开发人员避免使用它们。某些人从各处获得某个提示,但即使是优秀的开发人
2015-01-23 13:38:10
599
转载 开源那么重要,开源协议你认识吗?
近日,著名开发者论坛XDA专门发表了文章指责小米违反了GPLv2授权要求的做法。Android系统使用的是Linux内核,许可证来自GPLv2,根据后者的授权要求,所有Linux衍生版本修改后的源代码必须公开,但是小米到目前为止依然没有公开自己修改的源代码,这违反了GPLv2的授权要求。在2012年就有人指出小米的MIUI可能违反开源协议GPLv2,但是小米一直没有做出反应,这次有人如此高
2015-01-21 17:05:25
814
转载 (Memory and Resource) Leak detection for WinCE
Download source and vcproj tarball /wo crtdbg4wince - 14.7 KBIntroduction(Note: this article deals with alpha 0.06 or higher of http://sourceforge.net/projects/crtdbg4wince/ project)Reso
2014-12-05 10:33:18
1286
转载 Windows CE内存管理
内存管理 如果你在写Windows CE 程序中遇到的最重要的问题,那一定是内存问题。一个WinCE 系统可能只有4MB 的RAM,这相对于个人电脑来说是十分少的,因为个人电脑的标准配置已经到了128MB 甚至更多。事实上,运行WinCE 的机器的内存十分缺乏,以至于有时候有必要在写程序的时候为节约内存而牺牲程序的整体性能。 幸运的是,尽管WinCE系统的内存很小,但可用来
2014-12-03 19:35:14
907
转载 调试Release发布版程序的Crash错误
http://blog.sina.com.cn/s/blog_48f93b530100fsln.html 在Windows平台下用C++开发应用程序,最不想见到的情况恐怕就是程序崩溃,而要想解决引起问题的bug,最困难的应该就是调试release版本了。因为release版本来就少了很多调试信息,更何况一般都是发布出去由用户使用,crash的现场很难保留和重现。本文将给出几个解决方
2014-12-01 11:08:29
695
转载 vld for memory leak detector (release version)
有没有这样的情况,无法静态的通过启动和退出来查找内存泄露,比如网络游戏,你总不能直接关游戏那玩家怎么办? 现在vld支持release,我们可以动态的找。1.在release版本使用vld了。#define VLD_FORCE_ENABLE#include 2.支持gm命令来开启和关闭vld,并且report__declspec(dllimport) voi
2014-11-18 11:20:05
1866
转载 C/C++内存泄漏及检测
“该死系统存在内存泄漏问题”,项目中由于各方面因素,总是有人抱怨存在内存泄漏,系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败。内存泄漏是最难发现的常见错误之一,因为除非用完内存或调用malloc失败,否则都不会导致任何问题。实际上,使用C/C++这类没有垃圾回收机制的语言时,你很多时间都花在处理如何正确释放内存上。如果程序运行时间足够长,如后台进程运行在服务器上,只要服务器不宕机就一
2014-11-16 23:43:27
660
转载 调不尽的内存泄漏,用不完的Valgrind
调不尽的内存泄漏,用不完的ValgrindValgrind 安装1. 到www.valgrind.org下载最新版valgrind-X.X.X.tar.bz22. 解压安装包:tar –jxvf valgrind-3.2.3.tar.bz23. 解压后生成目录valgrind-3.2.34. cd valgrind-3.2.35. 运行./autog
2014-11-14 14:41:02
5670
转载 C++拷贝构造函数(深拷贝与浅拷贝)详解
深拷贝和浅拷贝可以简单理解为:如果一个类拥有资源,当这个类的对象发生复制过程的时候,资源重新分配,这个过程就是深拷贝,反之,没有重新分配资源,就是浅拷贝对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。
2014-11-01 10:18:27
691
1
转载 从汇编看c++中默认构造函数的使用分析
c++中,如果为一个类没有明确定义一个构造函数,那么,编译器就会自动合成一个默认的构造函数。下面,通过汇编程序,来看一下其真实情况
2014-11-01 10:13:56
729
转载 Qt 内存管理机制
这篇文章首先发布于我的主页 http://www.devbean.info,以后也会直接发布在那里。现在有 Flex 4 的一篇和 《从 C++ 到 Objective-C》系列,感谢大家支持!强类型语言在创建对象时总会显式或隐式地包含对象的类型信息。也就是说,强类型语言在分配对象内存空间时,总会关联上对象的类型。相比之下,弱类型 语言则不会这样做。在分配了内存空间之后,有两种方法
2014-10-15 14:01:20
697
转载 c++对象池内存池实现
以前自己写过一个内存池,采取FreeList计数,总感觉那个性能无与伦比。但上次看一个人测试基于boost::object_pool,和CRT的new/delete的速度比较。在10000*10000次的循环中,简单的对三个大小不一样的class做了new/delete的操作,并简单做些加减。然后那人说1亿次的操作,boost::object_pool是3秒,传统的是93秒。
2014-09-26 17:30:06
2853
Qt example codes
2009-04-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人