自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

开发者说

专注于Linux智能设备与云开发

  • 博客(222)
  • 资源 (10)
  • 收藏
  • 关注

原创 C++11变参模板

变参模板是C++11中新的特性,它主要解决了原有模板参数数量不可变的问题。现在标准库的tuple实现就是基于变参模板来实现的。还是从C的变参函数来说吧,经典的就是printf了, 它基于可变参数void print(const char *fmt, ...){ va_list ls; va_start(fmt, ls); va_arg(ls, int);

2012-09-26 23:06:20 7366 2

原创 arduino在linux环境下配置

linux下配置arduino开发环境很简单,但是由于权限,还是碰到了一些问题。linux对arduino设备是能够自动识别的,不需要单独安装驱动。lsusb可以查看到插入的设备,如图,最后一行就是新的usb设备:这样就可以了,打开arduino的开发IDE,选择Tools->Board->选择你的ardunio开发板的型号,我的是ATmega2560如图:下一步该是选

2012-09-10 21:26:01 20011 4

原创 python列表的快速操作

在C中修改容器中的每一个节点的内容我们的办法只有一个,就是遍历节点并对节点进行操作:for (int i = 0; i < len; ++i) { con[i] *= 2;}我们C++11一些(m是标准容器):for (auto i : m) { i *= 2;}或者foreach(m.begin(), m.end(), [](x){x*=2}); 很

2012-09-04 21:41:41 2409

原创 我的doxygen配置

# Doxyfile 1.7.5# This file describes the settings to be used by the documentation system# doxygen (www.doxygen.org) for a project## All text after a hash (#) is considered a comment and wil

2012-08-20 16:27:26 4536

原创 C/C++命名风格

存在C/C++中的四种命名风格:帕斯卡(Pascal)命名法    首字母和后面连接的每个单词的首字母都大写。    例如: MyName骆驼(Camel)命名法    将标识符的首字母小写,而每个后面连接的单词的首字母都大写。    例如:myName匈牙利命名法     以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单

2012-08-20 15:38:01 6101

原创 error LNK1123: 转换到 COFF 期间失败

原来机器上安装了VS2010非常正常,安装VS2012后,出现提示错误    13    error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏,如图:出现的具体原因是微软的链接文件的格式变了(让人无语的微软)微软官方给出的具体解决方法是给VS2010打SP1补丁。下载地址是:http://www.microsoft.com/en-us/down

2012-08-20 10:08:53 6775

原创 OpenInventor开发环境配置

Open Inventor是SGI公司开发的基于OpenGL的面向对象三维图形软件开发包。使用OIV开发包,程序员可以快速、简洁地开发出各种类型的交互式三维图形软件。OIV具有平台无关性,它可以在Microsoft Windows、Unix、Linux等多种操作系统中使用。OIV允许使用C、C++、Java、DotNet多种编程语言进行程序开发。TGS Open Inventorh

2012-08-15 14:22:14 5289 1

原创 工作代码片段-cmake

顶层目录结构CMakeLists.txtproject(khfep)cmake_minimum_required(VERSION 2.6)set(PRO_DIR ${PROJECT_SOURCE_DIR}/../../)set(LIBRARY_OUTPUT_PATH ${PRO_DIR}/lib/fep)set(EXECUTABLE_OUTPUT_PATH ${PRO_DIR}/bin

2012-07-27 11:25:11 1566

原创 Archlinux 2012.7.15安装(2014年05月09日更新)

Archlinux 2012.7.15昨天刚刚发布,抢鲜安装一下,因为使用pacstrap替代了原理的安装菜单,安装过程并不是很顺利。用最新的ISO盘启动机器,自动使用root进入系统,原来是使用/arch/setup命令直接进入安装菜单,通过菜单导航的方式来安装,现在的方式是使用脚本系统来安装。用分区工具划定分区,使用parted或者fdisk吧,我用GPT分区表所以就用parted

2012-07-23 11:47:27 6953

原创 C++代码风格的思考

C++/C就像他没有二进制标准一样,没有统一的代码风格,有unix风格的,有匈牙利风格的。自己很长一段时间也是比较郁闷,后来看到google C++ style的文档受益匪浅。但是STL、MS、Qt等代码风格各有不同,个人就产生了一些思考。缩进tab还是空格?更多的文档推荐用空格去而不用tab,仍旧有些会说tab的好处。2、4、8个空格?这对应着不同的缩进深度,2个空格是不是不明显

2012-07-14 12:30:50 4307 2

原创 嵌入式linux移植总结

修改并编译内核增加或修改arch/xx/mach-xx.c文件,修改MACHINE_START第一个参数为ID,在static void __init xx_map_io(void)中修改时钟s3c24xx_init_clocks(12000000);修改nand信息在static struct mtd_partition smdk_default_nand_part[

2012-07-03 11:04:05 2312

原创 配网自动化基础

四个环节:发电、输电、配电、用电变电环节:输电/配电配电系统=一次设备+二次设备一次设备:线路、变压器、开关等强电设备二次设备:计量、保护等弱点设备配电系统=配电网+二次系统供电质量包括:供电可靠性、电能质量、服务质量只能电网首先解决的问题是供电质量中性点接地方式:直接接地、小电流接地、不接地、谐振接地配电所:美式、欧式其他设备:重合器、断路器、分断器、分界

2012-06-26 16:34:22 2172 1

原创 我们需要什么样的电脑环境

现在,在公司使用的是Fedora17的KDE环境,在自己的笔记本上一直用的是archlinux,在安装了KDE环境后,除了干净,没有那些自己不想要的软件,也许硬件配置比较差,性能没有太明显的感觉。我也一直在考虑一个问题我们到底是需要一个什么样的环境?不需要多华丽,关键是实用,方便。一次次的重复而又繁琐的配置让我有些不耐烦。一直无法割舍archliunx的根本原因不再有他性能多好、多么轻量级。关键是

2012-06-15 16:58:41 2947 8

原创 linux mint 13强升unbuntu 12.10

linux mint在distrowatch的排名是第一的,不知道为什么国内相应的源只有ustc。并且速度不快。但是linux mint是基于ubuntu的所有在源中设置了ubuntu的源。但是版本是precise(12.04)的。前天,将源设置里原来国外的服务器替换成了163的。保留了precise的版本,将ubuntu的软件中心也安装上了,但是出现了更新程序挂掉问题。今天我就一不做二不休直

2012-06-06 22:02:54 3532

原创 Django开发笔记

错误: No module named 模块名称找不到模块,需要将模块添加到python的搜索目录中。方法一、在运行时添加参数--pythonpath="路径"方法二、将路径添加到path中。在settings.py中增加sys.path.insert(0,"path")方法三、安装模块到python的dist-packages(有的系统是site-packages)文件夹中错

2012-06-04 23:52:02 5387

原创 数据结构在实际开发过程中的应用

写了这么些年的代码,对数据结构和算法分析也只停留在皮毛阶段,实在是惭愧,把自己最近一段时间在项目中数据结构的具体应用总结一下。结构具体应用结构体用来表示某些纯数据结构会很好指针的指针做动态数组用效果不错,但是在初始化时也需要动态确定指针的容量一维数组用来保存一些配置信息列表不错二维数组做key:alue结构,虽

2012-05-21 17:16:52 9338 3

原创 不同的MVC

MVC的出现是很久很久以前的事情了,MVC本身有很多可以去说的地方,通过另一个视角去看MVC,MVC不属于GOF设计模式,但它确实设计模式应用的集合,且拥有很多的实现方式,如:MFC的Document/View/Control,Qt的Model/View/Delegate,IOS的View/Controller/Delegate,java EE的Model/View/Control。如此多的实

2012-05-17 14:12:02 2439 4

原创 104远动规约学习笔记

三遥:遥测、遥信、遥控104规约是厂站与配网主站进行通讯的规约,以以太网为载体,服务模式是平衡传输。基本架构与OSI模型对比如下图:会话类型:发送/无应答(S1),发送/确认(S2),发送/响应(S3)帧格式:单字节帧,固定帧,可变帧101固定帧:固定长度5个字节,以0x10为启动字符,以0x16为结束字符,包括链路控制域、链路地址域、校验和((控制域+地址域)

2012-04-26 16:37:07 20000

原创 emacs 24安装ecb与cedet

今天凑热闹把fedora升级到了17,emacs升级到了24,但是悲剧了,显示cedet罢工,重新编译1.1后,ecb又罢工。现在修复好了,记录下来与大家分享。emacs24启动cedet1.0会报Forgot to expand macro eieio-object-p错误,从官网http://cedet.sourceforge.net/下载最新版本安装,make安装以下。cedet修复成功

2012-04-18 16:46:23 15538 4

原创 Linux HA集群部署(基于Heartbeat与pacemaker)

服务器集群一般来说有三种:    HA集群能够取代磁盘阵列提供集群节点间热备;   LB集群能够提供动态负载和虚拟主机;   HP集群提供高性能计算集群。HA作为高可用性集群,为不间断服务提供保障,这几天刚好有项目使用Linux集群,刚好把配置过程记录一下。以下过程是在archlinux上进行操作。(1)    安装Cluster Glue(依赖:libtool、g

2012-04-17 14:05:09 3494

原创 virtualbox无法启动解决方法

安装完成virtualbox后没有办法运行,并且安装扩展也是失败,这也是第一次碰到,想办法解决之。错误提示信息如下:VirtualBox:supR3HardenedVerifyDir:Cannot trust the directory "/opt/VirtualBox" : group and/or other writable (st_mode=040777)修改权限为只有root

2012-04-11 10:25:19 19418 1

原创 archlinux 64位上运行32位程序

archlinux纯64位版是没有办法直接运行32位程序的。因为缺少最主要的glibc的32位版本的支持。要想使archlinux64支持32位程序,只需要将32位的源添加进来就可以。/etc/pacman.conf中增加[multilib]Include = /etc/pacman.d/mirrorlist如果是chakra需要将repo的名称修改为lib32和lib32

2012-04-10 23:27:43 10636 2

原创 archlinux滚动升级失败解决方法

新安装了arcnlinux(2011-08-19)不知为什么执行升级是提示失败,查找资料解决之,与大家分享:安装完成后第一次执行pacman -Syu失败,提示信息如下error: failed to commit transaction (conflicting files)一般情况下执行强制更新可以解决,但是此处强制更新也不行,根据官方wiki说明应该是文件冲突,pacma

2012-04-10 15:24:11 8827

原创 64位at&t汇编

现在使用的开发环境是64位的Linux系统,偶尔会需要看一些汇编代码,当然基本上是at&t的,一般情况下32位汇编的知识足以应付了,但是,今天碰到一个问题,需要64位寄存器,所以搜索64位汇编的相关信息,确实少很多。现在了解了一些这方面的知识不敢独享,特写出来与大家分享一下。首先是寄存器:  8位:al,ah16位:ax32位:eax64位:rax 新增(r8-r15寄存器

2012-03-15 17:03:28 5868

原创 WebSocket和node.js

web技术这些日子的发展可谓是有变革性的发展,已不仅局限于web2.0的ajax异步刷新的层面了。个人认为HTML5后真正能够带来变革性意义的技术主要在于WebGL、本地操作的支持,然而web发展不仅仅存在与客户端,服务端技术也发生着变革,Websocket和node.js就是其中的代表,web服务的实时性和异步性带了的革命不亚于客户端的革命。        一般的web模型都是基于get

2012-03-14 22:51:31 3358

原创 Linux使用内存映射文件做内存池

因为最近项目中需要实现一个临时数据高速存储,所以最近对内存映射文件做了一下了解,写出来与大家分享一下,因为个人水平有限也许会有这样那样的问题也恳请大家指正。     mmap是linux内存映射文件,是将文件映射成为内存地址空间的一种方式,其实,方法很简单。memfd = open(MEMFILE, O_RDWR | O_CREAT, S_IWUSR | S_IRUSR);memd =

2012-03-12 15:48:25 5409

原创 2012年一些计划

现在写2012年计划也许不太晚吧,哈哈,已经三月份了,现在心情刚刚安定下来,前一段时间情绪极度混乱,被工作的事情搞得很是郁闷,自己退一步忍耐一下吧,毕竟自己现在做的这个项目是很有含量的,也是自己希望去做的。好吧,既然这样我也需要把剩下的时间好好规划一下。1、还是要看书,重点是Linux内核与驱动,另外适当的补充一下openGL、openCV两个方面的知识是需图形相关的。2、正儿八经写几

2012-03-01 22:07:21 1294

原创 用网盘和git来管理资源

现在的网盘很多,比如dropbox、快盘、skydriver、115网盘、云诺、坚果铺子等,并且功能很强大,大部分提供的客户端都有自动版本管理和加密传输的功能。这为我们管理我们的资源提供了便利条件,一般的资源直接使用网盘已经做够了。但是我们有这样的情况,你在家里突然有一个代码的想法需要实现,但是你无法一次完成,或者你不想拿到公司去用,那怎么办,也同步到网盘?那公司的数据也会修改的。这其时就用到了v

2012-02-17 14:08:08 5006 2

原创 返回引用是左值

函数返回值分为:值,引用,指针三种。引用是c没有而c++有的,并且因为引用是左值实现了运算符连续运算的基础,而值和引用都不可以。下面我们就来看一下这三种返回方式的各自的特点:1、返回值int test1(){ int a = 1; retur a;}返回值是最简单有效的方式,他的操作主要在栈上,根据函数栈的特性局部变量a会在函数结束时被删除,为了返回a的值,需要

2012-02-14 09:59:26 5869 4

原创 右值对传参的影响

大家看一下,下面的代码:class T{ public: int a;};void d(T &e){ printf("%d\n", e.a);}d(T());我们不想再多使用一个变量而直接实例化对像,并将其传递进函数,这种方式在java和c#中都是可以的(它们传递的是引用,语意上是合法的)。在C++中编译会出现下面的错误:inv

2012-02-03 15:12:11 2124 2

原创 python修饰器

在《python类方法和静态方法》中提到了修饰器,修饰器和java中的注解看起来差不多,他到底是什么东西呢?先看一下一个最简单的修饰器实现:def R(arg): print("修饰一下") return f它看起来就是设计模式中提到的修饰设计模式,在原有的基础上添加自己的修式。不过python中的实现是返回了一个函数。这感觉有些闭包的概念,不

2012-02-02 10:49:10 4008

原创 python中的定义类属性和对像属性

python中变量是没有类型的可以绑定任意类型,但是在语法上不能声明变量。那我们怎麽来声名一个变量呢?f=None这样我们给着个变量绑定了以各None类型,我们随时可用重新绑定其它类型。这样我们起到了预先声名变量的效果。类中如何去定义类的属性和对像属性呢?如果对OO有所了解的话,就应该知道类属性属于类整体而对像属性属于具体的对像实例(查看gtk对像系统的实现会进一步理解

2012-02-01 13:58:11 5716

原创 python类方法和静态方法

python没有和C++中static关键字,它的静态方法是怎样的呢?还有其它语言中少有的类方法又是神马?python中实现静态方法和类方法都是依赖于python的修饰器来实现的。class MyClass: def method(self): print("method") @staticmethod def staticMethod

2012-02-01 13:45:50 4209

原创 也说说12306

看到网上很多关于12306的讨论的文章,大家都提出了自己的看法和改进意见,我也来凑凑热闹,说一下自己的一些想法。         媒体归咎于两个投标公司,但从目前看了他们不是问题的关键点。很多技术大牛将问题集中在采用了通用型数据库,没有数据缓存机制,或者没用采用异步IO等等,这些都很重要,也很有借鉴的意义,但我认为这些都是次要的,性能优化本身的空间在大牛们面前仍旧有很多的优化空间,但是现在来看

2012-01-17 11:03:47 3199 6

原创 ice3.3.1在fedora16上的安装

因为fedora16中自带的ice是3.4.2版本的,而我们的系统原来在3.3.1上开发的,而ice在升级过程中修改了大量的接口所有必须要使用对应的版本才可以。模块安装过程中需要添加需要添加--nodeps选项,取消掉依赖检测。在执行前手动建立所缺少动态库的软连接。1、先去官网下载ice3.3.1的安装包,可以下载源码包(rpm包libs应该不行了,因为他依赖openssl0.98,而系统

2012-01-16 09:58:50 1430

原创 工作代码片段-cmake

为什么使用cmake其实原有项目直接使用的makefile来做构建的,项目规模的不断扩大,开发模块增加,不能要求所有的开发人员都自己写makefile,模板的方式解决了一部分问题,但是比较麻烦,考虑采用automake的方式来做,但是最大的问题是在构建时代码出现错误的位置从输出中查找比较困难,而cmake提供了高亮的功能,这恰是我最需要的。cmake根目录CMakeLists.txt:

2012-01-13 13:40:21 2014

原创 2011的个人总结

2011年,我结婚了;       2011年,我跨越了程序员的分水岭;       这是在2011年对我来说有标志性的意义的事情。一、工作       上半年的工作主要集中在移动开发领域:              完成了××智能照明移动控制系统的android和ios版本的开发。用C来统一做两个平台通讯的具体实现,android和ios分别编译成动态库和静态库用

2012-01-10 13:43:14 4514 13

原创 工作代码片段-boost::asio

同步服务端: boost::timer tm; io_service is; ip::tcp::acceptor acceptor(is, ip::tcp::endpoint(ip::tcp::v4(), 8000)); for(;;) { ip::tcp::socket so(is); acceptor.accept(so);

2012-01-06 12:34:19 1524

原创 fedora修改gdm为kdm登录

修改/etc/prefdm#exec gdm "$@" >/dev/null 2>&1 </dev/nullexec kdm "$@" >/dev/null 2>&1 </dev/null不过你得首先安装kdm才行哦~~

2012-01-04 09:48:53 2868

原创 aio,epoll,libevent,boost::asio解决的问题

这几天一直在做linux大批量数据的解决方案,不断的深入了解了一下aio,epoll,libevent,boost::asio。以前只知道他们都是做异步/非阻塞的,但是具体解决的问题的关键点是什么,通过这几天的深入了解,把他们总结一下:aio是linux2.6以后内核实现的异步IO,或者说他才是真正意义上的异步IO。<!--@page {margin:0.79in}p

2011-12-29 14:08:09 7191

电力101规约

电力行业101规约报文解释,实例来解析101规约。

2012-07-04

Symbian错误大全

Symbian错误大全,查找Symbian错误不错的

2010-06-23

C++ STL 源码

STL源码,应该是学习标准C++的经典入门教程了。

2010-02-19

LFS6.2book

一个可以自己来做的linux操作系统的说明书

2008-01-09

网络安全技术的探讨

网络安全技术的探讨。通过互联网连接信息获得安全内容。

2007-12-18

c++编程术语表

c++编程中的基本概念和术语

2007-12-18

电子证据取证技术的研究

电子证据即为电子数据证据,通常指在计算机或计算机系统运行过程中产生的以其记录内容来证明案件事实的电磁记录物。电子证据取证包括证据获取、证据分析和证据报告三个过程。同时,电子证据作为诉讼证据必须具备客观性、关联性、合法性的特征。当前 ,以数字化形式 出现的电子证据对传统的证据形式提出了挑战

2007-12-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除