自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

糊涂的生活,平淡的人生

听说鱼只有两秒记忆,如果我是双鱼座,就有4秒

  • 博客(36)
  • 收藏
  • 关注

转载 如何查找内存泄露

这两天,在查找内存泄露的问题。因为内存都是放在memory pool里,所以不能通过valgrind等工具抓到那个地方分配的内存没有手动被释放。使用gcc,有一个方法去打包内存分配函数,而且不需要编辑已有的code并且不需要修改目标文件。linker ld 提供了一个内建的选

2011-09-21 18:42:32 2408

转载 Printf()输出格式控制

1.转换说明符       %a(%A)     浮点数、十六进制数字和p-(P-)记数法(C99)       %c             字符       %d             有符号十进制整数       %f              浮点数(包

2011-08-05 14:52:22 593

转载 用putty登陆cygwin

=====================================================================1:安装cygwin,记得安装sshd。2:下载putty,免费软件3:打开cygwin控制台:输入ssh-host-config

2011-08-03 13:42:00 2082

原创 cygwin中文支持与vim配置文件冲突

<br />    刚刚开始使用cygwin,cygwin中中文显示都是???,虽然cygwin中不会用中文输入,看着有点不舒服,google了下,找到下面的解决方法:<br />1.在用户目录(cd ~)里的.bash_profile文件末尾添加如下代码   export LC_ALL=en_US.UTF-16<br />   export LC_CTYPE=en_US.UTF-16<br />   export LANG=en_US.UTF-16<br />   export XMODIFIERS=@i

2011-03-18 16:59:00 2243

原创 单片机用串口传输浮点型数据方法

      我们都知道,单片机串口传输的单位是字节,而浮点型数是占四个字节,简单思路是用一个char型指针指向浮点型数据,利用指针寻址即可以将浮点数拆成四个char数据。接收端接收到四个char型数,为了还原成float型数据,采用共用体是一不错的方式。测试代码如下:      程序运行结果如下:

2010-12-13 16:55:00 8287

原创 用汇编代码解释变量声明定义概念

     学过C语言都知道变量有声明只是告诉编译器某个标识符是变量,而变量定义才会促使编译器为这个变量分配存储空间。下面就分类介绍不同的情况下,汇编后的代码:     一、全局变量           1. 临时定义(tentactive definition)一个外部全局变量a,代码如下:               汇编代码如下,认真看可知,int a对应的17行中的汇编代码,表示在数据段中分配一块地址是4字节对齐的区域。           2. 定义(definition)外部全局变量a,代码如下(

2010-12-08 16:27:00 6387

原创 SmartARM2200中编译minigui应用程序时出现错误error: C compiler cannot create executables

      在SmartARM2200中交叉编译minigui完成,生成了用于uclinux的minigui静态库,在编译minigui应用程序之前,先运行配置文件,马上出现错误error: C compiler cannot create executables,以为是gcc没有安装好,重装了,而且在/etc/profiel文件最后加入了export PATH=$PATH:/usr/local/arm-elf/bin命令添加环境变量,运行还是不行,重新检查配置文件发现,一个地方写错了“-Wl”写成了“-W

2010-11-29 22:04:00 1038

转载 操作系统学习常见疑惑问与答

<br />操作系统学习常见疑惑问与答[接口规范部分]<br />—问题1- 4 <br />    大三的时候已经学过了《操作系统原理》这门课,虽然学习过程中做过一些实验,但对操作系统的认识仍然停留在理论的层面上,对于如何才能编程实现一个真正的操作系统缺乏可操作的方案,于是有了我现在进行的学习计划。按照计划,近期我读了一些有关操作系统编写的书籍,也参考了网上很多的文章,接触了不少国内这方面的论坛,总算对编写操作系统有了一个大概的认识。在这期间,我曾经被许多小的问题困扰过,并且我认为许多初学操作系统的同学也

2010-08-13 10:24:00 1007

转载 新型超级电容/法拉电容介绍

级电容器简介     超级电容器是近几年才发展起来的一种专门用于储能的特种电容器,有着法拉级的超大电容量,比传统的电解电容器的积能密度高上百倍,漏电流小近千倍,它的放电比功率较蓄电池高近十倍,不需要任何维护和保养,寿命长达十年以上,是一种理想的大功率物理二次电源,已成功的用作内燃发动机的启动电源;电动车的起步、加速、爬坡电源;高压开关的分合闸操作电源及用于电传动装甲车和大型充磁设备中。     目前我国山东神工海特、上海奥威、北京集星等几家公司已成功开发、生产出此类电容器。其系列技术指标为:电容量:0.2F

2010-08-10 21:32:00 4805 1

转载 INT 10H中断

<br />功能号:00H<br />功能:设置显示模式<br />入口参数:AH=00H<br />   AL=显示模式<br />显示模式列表:<br />显示模式  显示模式属性<br />  00H       40×25    16色 文本<br />  01H       40×25    16色 文本<br />  02H       80×25    16色 文本<br />  04H       320×200   4色 <br />  05H       320×200   4色<br

2010-08-03 11:05:00 684

原创 不使用中间变量实现数据交换

<br />x=x+y;<br />y=x-y;<br />x=x-y;

2010-08-01 23:19:00 430

转载 内存调试工具Valgrind使用介绍

ValgrindValgrind 已经在 Linux 应用程序开发社区中广泛用来调试应用程序。它尤其擅长发现内存管理的问题。它可以检查程序运行时的内存泄漏问题。这个工具目前正由 Julian Seward 进行开发,并由 Paul Mackerras 移植到了 Power 架构上。要安装 Valgrind,请从 Valgrind 的 Web 站点上下载源代码(参阅 参考资料)。切换到 Valgrind 目录,并执行下面的命令:# make# make check# make installVal

2010-07-10 21:00:00 1028

转载 四种程序启动画面的制作方法VC(转)

使用启动画面一是可以减少等待程序加载过程中的枯燥感(尤其是一些大型程序);二是可以用来显示软件名称和版权等提示信息。怎样使用VC++制作应用程序的启动画面呢?本文提供四种方法,前三种适用于基于文档的应用程序,第四种适用于基于对话框的应用程序。 1.利用组件库中的Splash Screen组件实现  (1)用Photoshop等制作启动画面图像,保存为bmp格式。   (2)用Appwiza

2010-04-20 15:05:00 564

转载 VC中用函数读写ini文件的方法(转)

ini文件(即Initialization file),这种类型的文件中通常存放的是一个程序的初始化信息。ini文件由若干个节(Section)组成,每个Section由若干键(Key)组成,每个Key可以赋相应的值。读写ini文件实际上就是读写某个的Section中相应的Key的值,而这只要借助几个函数即可完成。一、向ini文件中写入信息的函数1. 把信息写入系统的win.ini文件BOOL W

2010-04-20 14:41:00 572

转载 VC++6.0注册表操作

1. 打开注册表键   LONG RegOpenKeyEx(  HKEY hKey,         // handle to open key主键  LPCTSTR lpSubKey,  // subkey name子键  DWORD ulOptions,   // reserved。必须是0  REGSAM samDesired, // security access mask读写标识  PH

2010-04-20 14:39:00 5018

原创 VC++6.0托盘菜单使用

1、在CNBVSPConsoleDlg.cpp(视自身情况而定)     // 自定义消息类型     #define MYWM_NOTIFYICON    WM_USER+1002、在CNBVSPConsoleDlg.h中定义变量     NOTIFYICONDATA m_NotiIcon;  //tray struct3、在CNBVSPConsoleDlg::OnInitDia

2010-04-20 11:11:00 666

转载 #pragma once与 #ifndef的区别

为了避免同一个文件被include多次1   #ifndef方式2   #pragma once方式在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。    方式一:    #ifndef __SOMEFILE_H__    #define __SOMEFILE_H__    ... ... // 一些声明语句    #endif    方式二: 

2009-12-20 20:06:00 237

原创 shell语法汇集

1、变量赋值,变量名有字符串组成,赋值等号前后不能有空格,访问变量值在变量前加$;2、读入键盘输入 read x y 多个输入以空格隔开;3、内部参数     $0:命令所在的路径     $#:传递给程序总的参数数目     $?:程序退出时正常返回0,非正常返回非0     $*:传递给程序的所有参数组成的字符串4、字符串比较     =:相同为真      

2009-12-02 22:09:00 671

转载 apachectl 和 httpd的关系

apachectl是Apache HTTP服务器的前端程序。其设计意图是帮助管理员控制Apache httpd后台守护进程的功能。apachectl脚本有两种操作模式。首先,作为简单的httpd的前端程序,设置所有必要的环境变量,然后启动httpd ,并传递所有的命令行参数。其次,作为SysV初始化脚本,接受简单的一个单词的参数,如:start, restart, stop ,并把他们翻译为适

2009-12-01 18:54:00 14519 1

原创 Apache启动出现错误:httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

    安装好Apache后启动服务,出现上面错误,网上搜索了下,解决方法如下:    找到配置文件/etc/httpd/conf/httpd.conf,在文件中找到#ServerName new.host.name:80,去掉前面的#,重启Apache就OK了。

2009-12-01 16:05:00 1273

原创 还久没有写bolg了,谴责下自己,要接着努力了。。。

 

2009-11-27 22:22:00 313

原创 gcc编译错误汇集

     1、编译出现错误: undefined reference to `pthread_create,源文件中已经包含"pthread.h",makefile文件也加入了-lpthread见下面     "...-lc -lpthread  -o rtctest rtctest.o -static     出现这个原因是-lpthread要发到最后面变成     "...-lc

2009-11-27 21:55:00 673

原创 待整理的linux一些概念理解

     1、GCC有一个扩展功能,可以使用空格将两个字符串常量连接成一个字符串,例如:“abc”  “cde”等价于“abccde”,所以下面的语句就不能理解了     printk(KERN_ERR "test:init OK/n")     2、Linu操作系统中用户程序不能访问内核空间,内核和驱动程序也不能使用指针或memcpy等常规方法与用户空间传输数据,主要原因是Linux系统

2009-10-16 22:05:00 317

转载 printk()函数的总结

转载文章,版权归原作者所有。原文出处:http://blog.chinaunix.net/u2/73521/showart_1085195.htmlprintk()函数的总结我们在使用printk()函数中使用日志级别为的是使编程人员在编程过程中自定义地进行信息的输出,更加容易地掌握系统当前的状况。对程序的调试起到了很重要的作用。(下文中的日志级别和控制台日志控制级别是一个意思)printk(

2009-10-15 15:46:00 287

原创 SmartARM2200开发板GPIO驱动学习心得

   不知道怎么开始写好,看着空白的博客想了好几分钟,最后决定按驱动使用步骤开始一步一步介绍,这里假设读者已经有一点驱动程序的知识了,因为基础知识实在是不好解释清楚。   1、驱动使用前肯定要先创建设备文件,设备文件与驱动的关系差不多就是驱动的读写操作都是针对设备文件。创建设备文件命令很简单:        mknod /dev/P0 c 126 0        /dev/P0 是设

2009-10-14 21:07:00 908

原创 RCS版本控制系统简介

    版本控制是指跟踪和管理源代码文件变化的自动过程。RCS(Revision Control System),是最常用的版本控制解决方案,之后有两个工具可以替代RCS,一个是SCCS(Source Code Control System),另外一个是CVS(Concurrent Version System),其中CVS建立在RCS的基础上,但CVS更适合管理多目录的项目,因为它处理层次目录结

2009-10-08 19:50:00 6304

原创 RedHat9下FX5200显卡驱动安装

     安装redhat9系统时就碰到因为系统无法识别FX5200显卡而没法用图形界面安装redhat9,没法就再文本界面下安装了redhat9,安装好系统之后进入终端安装了FX5200的驱动,搞定后忘记记录下怎么做的,没想到今天在设置桌面时一不小心自动探测显卡后,再重新驱动就进不了XWindows了,又不得重新弄一次显卡驱动了,这次就记录记录。     1、重启电脑等着系统已经运行起来了,

2009-10-02 11:14:00 1062

转载 内核的struct file结构体

一、定义:struct file结构体定义在/linux/include/linux/fs.h(Linux 2.6.11内核)中,其原型是:721struct file { 722 /* 723 * fu_list becomes invalid after file_free is called and queued via 72

2009-09-07 17:14:00 2090 1

转载 逐步设置vim C/C++语法高亮显示和自动缩进

vim简介Vim(Vi Improved) 是一个类似于vi 的文本编辑器,在Vi的基础上增加了很多新的特性和功能。Vim以其强大的功能和可定制能力,成为Linux/Unix环境下开源的最重要的编辑器之一(另一个是 Emacs),被众多开发者所喜爱。笔者此时所用的是最新的7.1版本。与大部分其它编辑器不同,进入 Vim 后,缺省状态下键入的字符并不会插入到所编辑的文件之中。Vim 的模式(

2009-08-17 09:37:00 672

原创 gdb调试及gdbserver远程调试

     gdb调试器是一款GNU开发组织并发布的UNIX/Linux下的程序调试工具,具有强大的功能,足有与Visual Stido媲美,当然友好的界面是没法相比的,呵呵。     开始编译程序将调试信息包含进去,gdb调试器运行在shell中输入gdb就好,也可以输入gdb filename,filename是待调试程序名,下面就按断点、单步等命令一个一个介绍。     1. 进入gd

2009-08-15 15:17:00 6385 1

原创 Vi常用且实用命令(持续调加,重在记录,呵呵)

    Vi三种模式我想就不用说明了,用过的Vi的兄弟姐妹相信都非常明白了。    1. 复制粘帖删除 yy、nyy、p、dd、ndd、x        yy    复制光标所在行        nyy  复制光标所在行开始向下n行        p     粘帖光标所在位置        dd   删除光标所在行        ndd  删除光标所在行开始向下n行  

2009-08-15 10:41:00 579

原创 Shell常用指令

1. su用户切换    建议使用su - root,这样可以同时将root的环境变量和工作目录带入。具体见下面演示: 2. useradd、userdel和passwd用户添加删除和设置密码3. ps和kill进程查看及关闭4. mount文件挂载    mount -t vfat /dev/hda1 /mnt/win/c将windows下的C盘挂载到/mnt/win

2009-08-06 11:07:00 369

转载 Montavista

1999年成立的MontaVista目前在全球有大约350个客户,其中60%主要集中在电信行业,Ericsson、Nokia等大公司都是其客户。在国内,虽然它去年才进入中国市场,但现在也已经拥有华为、大唐、新泰这样的重要客户。  这家位于加州Sunnyvale 的公司,销售三个版本的Linux :电信(telecommunications)设备用的Carrier Grade Edition (

2009-08-05 15:30:00 386

转载 Windows远程桌面控制Linux软件Xmanager配置

 随着互联网的高速发展以及Linux企业应用的成熟,Linux被广泛应用于服务器领域,如何实现Linux的远程管理成为网络管理员的首要任务。    我们经常见到的几种最为常用的windows下远程管理Linux服务器的方法,基本上都是利用SecureCRT,F-Secure SSH 抑或是PUTTY等客户端工具通过ssh服务来实现Windows下管理Linux服务器的,这些客户端工具几乎不需要什么

2009-07-23 09:19:00 1325 1

原创 uCLinux交叉环境设置错误问题

    使用周立功smartarm2200开发板,按照实验指导书构建好uCLinux开发平台,实验运行了一个helloworld程序,之后建立nfs挂载,在uClinux下也运行了下helloword程序,运行很正常,之后就固化程序到开发板试试,在rc文件后面加上下面两句,让板子启动就运行程序:   cd /usr/pro   ./hello   重启开发板,程序没有执行,在uCLinux

2009-07-21 21:42:00 931 1

原创 mount错误出现mount::rpc:未注册

    建立ARM7交叉编译环境设置redhat下的nfs服务,关闭防火墙、去掉iptables服务、启动nfs服务都弄好,测试下nfs是否配置成功,在shell下输入    mount 59.77.15.93:/home/armwork /mnt    出现错误    mount:  rpc:  未注册    在网上搜索了下,问题是几个服务没有启动    1. 启动portm

2009-07-21 09:44:00 2919 3

空空如也

空空如也

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

TA关注的人

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