- 博客(76)
- 资源 (22)
- 收藏
- 关注
转载 分析函数调用关系图(call graph)的几种方法
绘制函数调用关系图对理解大型程序大有帮助。我想大家都有过一边读源码(并在头脑中维护一个调用栈),一边在纸上画函数调用关系,然后整理成图的经历。如果运气好一点,借助调试器的单步跟踪功能和call stack窗口,能节约一些脑力。不过如果要分析的是脚本语言的代码,那多半只好老老实实用第一种方法了。如果在读代码之前,手边就有一份调用图,岂不妙哉?下面举出我知道的几种免费的分析C/C++函数调用关系的工具
2014-06-30 16:47:22
6552
转载 用CodeViz绘制函数调用关系图(call graph)
CodeViz是《Understanding The Linux Virtual Memory Manager》(at Amazon,下载地址在页尾)的作者 Mel Gorman 写的一款分析C/C++源代码中函数调用关系的open source工具(类似的open source软件有egypt、ncc)。其基本原理是给 GCC 打个补丁,让它在编译时每个源文件时 dump 出其中函数
2014-06-30 16:45:04
6672
转载 linux目录详解
/binbin是binary的缩写。这个目录沿袭了UNIX系统的结构,存放着使用者最经常使用的命令。例如cp、ls、cat,等等。/boot这里存放的是启动Linux时使用的一些核心文件。/devdev是device(设备)的缩写。这个目录下是所有Linux的外部设备,其功能类似DOS下的.sys和Win下的.vxd。在Linux中设备和文件是用同种方法访问的。
2014-06-24 17:26:36
938
转载 linux内核分析之旅
linux内核下载地址: http://www.kernel.org/pub/linux/kernel/ 或者: http://www.kernel.org/ 我们还是从顶层makefile来进行分析:首先我们来简述一下makefile的功能,以便对makefile有更深入的理解,makefile有3点比较重要的作用:一是决定编译哪些文件,二是怎样编译这些文件,
2014-05-21 21:41:29
2303
转载 make menuconfig/.config/Kconfig解析
make menuconfig/.config/Kconfig解析在对linux进行编译,常用的命令是make menuconfig,使用图形界面来对整个系统进行裁剪。当然,除了这条指令,还包括很多配置命令,比如make defconfig, make oldconfig等。这里主要就make menuconfig的执行过程进行解析。一.准备工作包括(交叉)
2014-05-21 00:48:47
3503
转载 C标准预定义宏 -- 需要整理一下
ANSI C标准中有几个标准预定义宏:__FILE__ __DATE__ __TIME___ __LINE__ 等__LINE__:在源代码中插入当前源代码行号;__FILE__:在源文件中插入当前源文件名;__DATE__:在源文件中插入当前的编译日期__TIME__:在源文件中插入当前编译时间;__STDC__:当要求程序严格遵循ANSI C标准时该标
2014-04-13 14:59:54
953
转载 ADS工程移植 Keil MDK 编译出现的警告和错误解决
warning: A1876W: Use of '|' as a synonym for the :OR: operator is deprecated.部分源代码:MSR CPSR_c, #(NoInt|IRQ32Mode) ;进入IRQ模式。解决方法:把"|"修改为 ":OR:", 如下MSR CPSR_c, #NoInt:OR:IRQ32Mode ;进入IRQ模式。
2014-02-28 00:04:30
4617
转载 verilog代码的一些经验和小结
下面是自己写verilog代码的一些经验和小结,和大家分享下。1、对于高速的逻辑操作(如:判断,取反等),为了保证逻辑正确和结果的稳定(不抖动),需要用 always的 case语句来实现,而不要使用 if…else…,或者assign 语句的()?… :…形式。也即,对于高速数据的判断选择性操作,用case比用if…else…可以满足更高的时钟要求,但占用较多的slice;同一种逻辑
2014-01-25 15:41:06
1314
原创 程序 打印 输出 调试 信息
在程序中某行处输出调试重要的信息打印当前源文件的名字、行数和函数名: __FILE__, __LINE__, __func__ (注意,不是__FUNC__ )printf("File: %s Func: %s Line: %d \n", __FILE__, __LINE__, __func__ );
2014-01-13 23:02:38
1297
转载 西电 ubuntu 更新软件源
1.打开软件源列表sudo gedit /etc/apt/sources.list(把备份跳过了)2.将里面内容替换如下。(这是12.04的版本)。对于其他版本,替换为相应的版本。deb http://ftp.xdlinux.info/ubuntu/ precise main multiverse restricted universe deb http://ftp.xdlinux
2013-10-01 00:29:30
1532
原创 cadence capture 出现 无法找到 msvcr90.d.dll 问题 提示重新安装
问题产生的根本原因: 在安装完Cadence开发工具后,再安装了MentorGraphics的PADS开发工具,悄悄地,PADS将自己的环境变量path(系统环境变量)放到了整个path的前面,而Cadence在加载应用的时候,居然可以参照pads的环境变量,由于pads的安装路径中没有msvcr90d.dll这个文件,当然就无法找到该文件了。 解决办法: 将Caden
2013-09-25 22:10:14
3707
原创 linux centos 配置 svn 服务器
首先介绍一下吧,Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。 废话少说,上正题吧!1 首先检查subversion安
2013-09-20 20:44:03
1207
原创 linux cent os putty 问题彻底解决办法
出现乱码的根本原因: linux系统和putty使用的编码格式不一致。解决办法: 1、首先使用命令查看linux当前使用的是什么编码格式 echo $LANG 返回的结果有如下几种情况:1)zh_CN.utf8 2)zh_CN.GB18030 3)zh_CN.GB2132 2、由于我们使用的putty对utf-8支持较好,所
2013-09-09 13:26:25
1721
原创 Fedora 6 安装中文语言包
在Fedora安装镜像ISO/CD中的RPMS文件包中,有如下几个文件,将他们拷贝到自己的用户目录下fonts-chinese-3.02-7.fc6.noarch.rpmfonts-ISO8859-2-100dpi-1.0-17.1.noarch.rpmfonts-ISO8859-2-1.0-17.1.noarch.rpmfonts-ISO8859-2-75dpi-1.0-17.1
2013-09-01 01:06:52
1890
原创 centos 6.4 更新源地址
执行如下命令:mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.oldvim /etc/yum.repos.d/CentOS-Base.repo (粘贴下面的更新源地址,vim粘贴方法:首先选中更新源地址内容,然后在vim中按下字母i进入编辑模式,然后点击鼠标中间,即可粘贴刚才选中的内容)
2013-08-25 16:12:26
11414
转载 CentOS 安装 Codelocks
在CentOS6.2上安装Codelocks的过程。1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可yum install gccyum install gcc-c++2.安装gtk2-devel,因为默认已经安装了正式产品需要的支持库,但是没有安装开发所需要的文档.yum install gtk2*3. 安装
2013-08-25 15:31:25
1084
转载 Centos yum 安装 卸载 软件
在Centos中yum安装和卸载软件的使用方法安装方法安装一个软件时 yum -y install httpd安装多个相类似的软件时 yum -y install httpd*安装多个非类似软件时 yum -y install httpd php php-gd mysql卸载一个软件时 yum -y remove httpd卸载多个相
2013-08-25 15:20:29
1071
原创 centos 安装 gcc g++ 编译器 c c++ 编译器
安装gcc编译器使用命令: yum -y install gcc安装g++编译器使用命令: yum -y install gcc-c++(不能使用yum -y install g++,否则提示没有g++这个包名)
2013-08-25 15:06:16
15641
原创 LPC2378-Jlink 能下载程序,但是调试出现各种奇怪问题
LPC2378-Jlink调试经验1、Jlink(d版的没有关系)不能下载程序? 把下载速率设置到500Khz及以下的速率。2、Jlink能在500Khz的速率下载程序,但是不能调试?添加一个断点,就提示说断点太多!没有添加断点,直接按F10,出现信息****Jlink error xx 寄存器不能访问, core ID等错误!在debug下看memory,看到的很多0xAA,预
2013-08-01 15:53:24
1736
原创 2012年 中国MCU市场排名 更新
根据研调机构统计资料显示,2012年MCU全球市场排名中,车用电子大厂瑞萨(Renesas)以4.05亿美元稳坐MCU市场第一名宝座,飞思卡尔(Freescale)则以2.34亿美元位居第二,至于以8位元MCU为主的MicroChip,2012年营收达2.10亿元,名列第三,意法半导体MCU营收则达1.32亿美元,晋升全球第四大MCU厂,而触控厂爱特梅尔(Atmel)则列居第五位,营收达到1.20
2013-07-14 11:52:45
2761
转载 int与long区别
数据模型决定了C语言中基本数据类型与数据宽度的对应关系。我们常用的32位模型称为ILP32,而64位模型有三种:LP64、LLP64和ILP64。在64位模型中,指针一定是64位的,但是int和long的宽度则在不同的数据类型中有不同的定义。如下表:datatypeLP32ILP32LLP64LP64ILP64
2013-07-03 01:21:39
1427
原创 2012年 中国MCU市场排名
2012 年排名 供应商 1 Renesas Electronics 2 Freescale Semiconductor 3 Microchip Technology 4 STMicroelectronics 5 Atmel
2013-06-22 02:18:04
2184
转载 intel cpu 分类 i7、i5、i3、T系列、P系列
现在市场的CPU有T系列、P系列、E系列、还有i3、i5、i7. T系列,是intel 双核,主要应用于笔记本。包括奔腾双核和酷睿双核,2以下的,比如T2140,是奔腾双核。2以上,T5800、T9600,数字越大功能越强。当然还有,酷睿双核要比奔腾双核好,奔腾的时代已经过去了。 P系列,也是inter酷睿双核的升级版,旨在减少功耗。同数字的P要好于同数字的T,比如P8600好于T
2013-01-27 00:11:31
44663
1
原创 Keil 编译 "DATA" segment too large STC 51 MCU 单片机
Keil51编译出现 "data" segment too large 解决今天Keil编译出现这个问题,数据太大,原因是在代码中定义了多个个数组,每个数组又有多个个属性等等。Project -> Option for Target "xxx" -> Target -> Memory Model 中的值 [Small: variables in DATA] 重新选择 [Large: vari
2013-01-26 11:40:32
20251
7
原创 cortex m3 LPC1768 sprintf %f 出现崩溃 硬件错误 reset 原因是 arm-gcc 不支持 sprintf %f
我使用的是NXP的cortex-m3芯片LPC1768作为主控芯片,经过研究反复研究和实验,修改startup.s代码中的stack_size和heap_size的大小都无济于事,任然出现奇怪的现象,即在单步调试的时候,只能执行一次,并且这次得到的结果是正确的,然后就立即出现硬件错误,进入汇编语言的硬件错误死循环;如果全速运行,那么每次得到的结果都是0.00000,没有一次能得到正确结果,但是并没
2013-01-09 00:15:16
3600
原创 keil编译http_demo的web.inp不能编译问题之解决
keil编译httpdemo的web.inp不能编译,如下: Build target 'MCB1700' custom translating Web.inp... Custom: C:\Keil\ARM\bin\fcarm @Web\Web.inp Target not created 首
2012-11-16 20:59:26
3402
3
转载 Linux SVN 用法
1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件svn addfile例如:svn add test.php(添加test.php)svn add *.php(添加当前目录下
2012-10-23 21:08:52
691
原创 Ubuntu Linux samba NFS 共享文件夹 目录 文件 Windows Linux 相互访问
安装和配置samba服务器和NFS服务器:分别安装samba和NFS安装包:sudo apt-get install nfs-common nfs-kernel-serversudo apt-get install samba smbfs注意关闭防火墙: sudo iptables -F图形化添加SMB/NFS共享目录(简单方法):这样的配置都会写到
2012-10-23 13:39:56
2968
原创 Ubuntu Linux 双网卡 局域网 共享上网 很简单的操作
最简单的办法解决问题(此方法简单容易,非常类似于windows下的“共享”,只是windows下是在外网网卡上点击“共享”,而ubuntu是在内网网卡上选择“与其他计算机共享”): 打开 系统设置->网络设置->选中内网网卡(这里是eth1)->点击“选项”->点击ipv4设置->在“方法”的下拉框中选中“与其他计算机共享”->保存,立即OK!上图:ipv4配置如下:
2012-10-23 11:23:46
15513
1
原创 filter 过滤 和 kill 杀死进程
过滤进程的几种方式:1.ps -ef | grep xx2.ps -aux | grep xx3.ps -aux | grep 'xx'4.pgrep xx杀死进程的几种方式:1.kill 234(pid值)2.pkill aaaa(进程名)
2012-10-23 00:17:31
866
转载 Fedora Ubuntu 成功安装 佳能 ip1180 打印机驱动
今天装好了Fedora 12,刚从Ubuntu转回Fedora,还是有些不适应的,然后想到了我在Ubuntu下怎么都装不上的打印机驱动不是RPM的吗?那就试试吧。在:http://support-cn.canon-asia.com/contents/CN/ZH/0900718406.html和http://support-cn.canon-asia.com/contents/CN/ZH/0
2012-10-21 10:33:26
4798
转载 #include extern 头文件分析
用#include可以包含其他头文件中变量、函数的声明,为什么还要extern关键字,如果我想引用一个全局变量或函数a,我只要直接在源文件中包含#include (xxx.h包含了a的声明)不就可以了么,为什么还要用extern呢??这个问题一直也是似是而非的困扰着我许多年了,今天上网狠狠查了一下总算小有所获了:头文件首先说下头文件,其实头文件对计算机而言没什么作用,她只是在预编译时在#i
2012-10-20 00:40:06
1169
转载 Ubuntu Linux 32bit 4GB 内存 充分利用 解决办法
新升级系统内存,从原来的2G加到4G,但是在使用命令查看的时候只能看到3291M,如下: $ free -m total used free shared buffers cached Mem:
2012-10-19 15:56:08
1037
原创 Ubuntu Linux 打开 chm 文件
在终端中输入: sudo apt-get install chmsee一般情况下,这样就可以了,如果还有其他的问题,再找找看看。
2012-10-14 12:32:19
989
转载 ubuntu12.04 删除UNITY 侧边栏
用惯了ubuntu经典桌面,升级到11.10版本之后很不习惯,左边做了一栏的工具图标,还是习惯了。自己的Docky方式。下面是参考了ubuntu中文论坛一篇帖子,感谢作者的分享,链接地址1、安装GNOME 3sudo apt-get install gnome-shellsudo apt-get install gnome-tweak-toolsudo apt-get in
2012-10-14 02:56:09
5575
转载 VC内存泄漏检测工具_Visual Leak Detector
初识Visual Leak Detector 灵活自由是C/C++语言的一大特色,而这也为C/C++程序员出了一个难题。当程序越来越复杂时,内存的管理也会变得越加复杂,稍有不慎就会出现内存问 题。内存泄漏是最常见的内存问题之一。内存泄漏如果不是很严重,在短时间内对程序不会有太大的影响,这也使得内存泄漏问题有很强的隐蔽性,不容易被发现。 然而不管内存泄漏多么轻微,当程序长时间运行
2012-10-06 18:39:34
773
转载 C++内存管理之一(检测内存泄露)
C++程序的复杂性很大一部分在于他的内存管理,没有C#那样的垃圾回收机制,内存管理对初学者来说很困难。经常会出现内存泄露的情况。那么我们写程序如何避免内存泄露呢?首先我们需要知道程序有没有内存泄露,然后定位到底是哪行代码出现内存泄露了,这样才能将其修复。 本文描述了如何检测内存泄露。最主要的是纯C,C++的程序如何检测内存泄露。 现在有很多专业的检测工具,比如比较有名的BoundsChec
2012-10-06 18:38:56
634
原创 Ubuntu Linux 打开 rar zip等归档 乱码 解决办法
Ubuntu下用file-roller,也就是归档管理器打开.rar文件,里面的中文目录文件名总是乱码,这个问题很让人恼火的,终于搞定了,网上有几种说法,解决效果不尽一致,建议尝试下面几步即可:对于rar归档包或者压缩包而言:1.卸载rar: sudo apt-get autoremove rar2.安装unrar: sudo apt-get install u
2012-10-06 03:38:07
6058
转载 192.168.0.1/24 IP地址 意思
192.168.0.1/24 24的意思就是说子网掩码中表示网络的二进制位数是24位,即: 11111111.11111111.11111111.00000000 数一下看是不是24个1,变成十进制就是:255.255.255.0如果把前面的IP也变成二进制数,即:11000000.10101000.00000000.00000001 (192.168.0.1)11111
2012-10-04 17:04:19
3796
转载 Linux 校园网 锐捷客户端 ruijieclient
其实网上已经有相关的软件了,我今天不连接信息发给那些需要的人,希望对大家有所帮助!RPM包:http://ruijieclient.googlecode.com/files/ruijieclient-0.8.2-1.fc11.i686.rpm 32位系统 http://ruijieclient.googlecode.com/files/ruijiecli
2012-10-03 01:14:20
2558
bios程序设计参考资料
2015-11-19
marvell 88W8686 Host Interface Registers寄存器 手册
2014-06-16
Debussy-54v9-NT&Crack.rar 破解下载
2011-09-19
NI LabVIEW 2010及其相关工具包的KEYGEN集合
2011-01-01
学生管理系统_系统详细设计说明书
2010-12-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人