一个Windows平台日志库
项目开源地址:https://github.com/yungangtech/vc_msglogger.git 功能:使用宏定义的接口,方便的在程序中输出各种日志信息,可以输出到DbgView工具查看,也可以输出到日志文件 特色: 1、函数调用的日志自动递进分级,出入口清晰 2、可以跨多进程日志输出,通过进程号、线程号进行区分。这个在必须多进程协调的应用程序中比较有用。   注意,日志应该控制在测试版本上使用,在发布版本上应该用项目属性的宏定义,屏蔽掉日志输出。 项目采用vs2010编译,需要mfc支持。 ......
arm-linux编译嵌入式数据库sqlite3
1、linux平台:Ubuntu 14.04 32位平台 2、arm-linux-gcc版本4.4.3,确保可用 3、下载sqlite3最新源代码 版本3.8.8.3 4、解压缩下载的源代码包:tar zxvf sqlite-autoconf-3080803.tar.gz 5、配置:./configure --prefix=/usr/local/sqlite --target=arm-linux --host=arm-linux LD=arm-linux-ld 6、make 此时发现问题,提示无目录 3.8.8.3,经分析,是交叉编译gcc版本不能正确解析makefile中的一个字符串-DPACKAGE_STRING=\"sqlite\ 3.8.8.3\"(中间有个空格),改成-DPACKAGE_STR......
OpenWrt系统常用操作
某日,我将数年前购买的TP-Link WR703N 无线路由器刷OpenWrt的官网固件,没想到刷成了砖头。LED灯常亮,无线没有开启,有线不能连接,telnet也不通。 在这种情况下试图恢复到安全模式,按住RESET键之后再上电可以进入安全模式(我这个案例免除了用TTL线连接到芯片的极端情况),此时无密码的情况下可以telnet,如果设置了密码,可以用ssh。 一、烧写固件 进入之后,在自己电脑上搭建一个简易的FTP Server。然后将验证过的适合系统的固件(比如wr703n-std.bin)放在里面。用网线......
关于抽象能力
作为一个技术派,随着年月的增长,能够体现功力增加的无疑是对事物的抽象化能力。 抽象能力,就是发现这个世界上隐藏在最深处的运作模型。 当代码越写越多,功能越来越复杂的时候,技术人员如果一直沉浸在写几段极其巧妙的函数中,那么永远得不到进步。 怎么办? 这个时候就是要培养抽象能力的时候了。就像做研究,如果你的研究成果被无数人引用,你就是成功的,因为你把一件事做到了极致,做到了独立,做到了系统无关。其实这就够了。 一套复杂的系统,如果你能把系统中关键的......
arm-linux-gdb编译及使用
嵌入式目标板为三星s3c24xx系列的cpu,程序采用交叉编译之后下载到目标板上运行,总是在运行一段时间之后出现异常,于是考虑使用远程gdb进行调试。 采用以下几个步骤进行: 1)下载最新版gdb源代码 http://ftp.gnu.org/gnu/gdb/ 2)进入工作目录 解压 创建输出目录 tar -xvf gdb-7.7.tar.bz2 解压之后的目录为gdb-7.7,在此目录之下创建output目录,在output目录之下再分别创建x86和arm目录,分别保存编译后的host端gdb和目标端gdbserver cd gdb-7.7 mkdir output cd output mkd......
windows平台inf文件编写
[曾经为编写一个inf费力很大力气,比如要支持32位和64位,这是msdn上的一篇文章,很有借鉴意义] About INF File Architecture An INF file consists of a set of named sections, each containing one or more line items. Each section begins with the name of the section enclosed in square brackets. Sections have a particular purpose (for example, to copy files or add entries to the registry). Each of the line items in a section contributes to the purpose......
多线程重启启动遇到“HEAP: Free Heap block xxxxxxxx modified at xxxxxxxx after it was freed”的问题
创建了一个继承自CWinThread的线程指针对象,第一次new之后,通过线程关闭机制关闭了线程,相关线程对象自动销毁,然后再一次new这个线程的时候,报了一个“HEAP: Free Heap block xxxxxxxx modified at xxxxxxxx after it was freed”的错误,百思不得其解,错误的原因是释放的堆栈又被更改操作了,这是一个非法的地址操作。后来想到该线程使用的堆栈可能已经越过普通分配堆栈的界限1M,于是再CreateThread里面索性将堆栈分配为10M=10*1024*1024,如此创建之后,再次new、free、n......
关于防护等级标准
[内容来源于百度百科:IP等级] IP是Ingress Protection的缩写,IP等级是针对电气设备外壳对异物侵入的防护等级,来源是国际电工委员会的标准IEC 60529,这个标准在2004年也被采用为美国国家标准。 IP后面跟两个数字,如IPxx。第一个数字表示防尘;第二个数字由表示防水,数字越大表示其防护等级越佳。 防尘等级如下: 0 无防护 无特殊的防护 1 防止大于50mm之物体侵入 防止人体因不慎碰到灯具内部零件 防止直径大于50mm之物体侵入 2 防止大于12mm之物体侵入 防止手指碰到灯具内......
CubieBoard资源介绍
CubieBoard是一个基于中国珠海全志公司的SoC芯片“A10”的一个卡片式电脑主板。为了区别正常的电脑产品,业界给之取名为box。比如它的主页上就是这么介绍的: Cubieboard A small, high-performance arm box CubieBoard的板载资源如下: 1G ARM cortex-A8 processor, NEON, VFPv3, 256KB L2 cache Mali400, OpenGL ES GPU 512M/1GB DDR3 @480MHz HDMI 1080p Output 10/100M Ethernet 4Gb Nand Flash 2 USB Host, 1 micro SD slot, 1 SATA, 1 ir 96 extend pin including I2C, SP......
双网卡内外网分别访问的设置
出差的时候,通常会调试现场设备,一般现场的设备属于一个内网,然后自己又要上外网查询问题,所以就分别可以使用有线网卡和无线网卡,达到双网卡上不同的网的设置。 比如有线接的是一个内部局域网,ip是 192.168.3.100,网管是192.168.3.1,掩码是255.255.255.0 再无线网卡(wifi)连接的是另一个局域网,但这个网可以访问外网,比如ip是 192.1.3.100,网关是192.1.3.1,掩码是255.255.255.0 那就需要建立一个.bat文件,写入如下内容: echo on route delete 0.0.0.0 route del......