自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 资源 (22)
  • 收藏
  • 关注

转载 C语言字节对齐

http://blog.csdn.net/21aspnet/article/details/6729724/一、概念       对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。     二、为什么要字节对齐     

2016-04-30 22:39:42 294

转载 PLM(Product Lifecycle Management)System

http://blog.csdn.net/happy08god/article/details/17417435PLM(Product Lifecycle Management)System:PLM是协助产品能够顺利完成在新产品开发(NPI:New Product Introduction),以及量产后的相关工程技术执行作业,大至分为五个阶段Planning(产品构想阶段),EVT(工

2016-03-25 22:22:00 708

原创 宏定义中Error[Pe029]: expected an expression

在定义读写字节宏时出现Error[Pe029]: expected an expression。我的定义如下: #define READ_RAM(p, type) (*(((type)*)(p)))//错误 #define READ_RAM8(p) READ_RAM(p, u8)用法: u8 test = 0; u8 *p = &test; u8 v

2016-03-11 22:47:26 20225

转载 ARM编程模型

http://blog.csdn.net/myarrow/article/details/8559786 1. ARM处理器的工作状态1)从编程的角度看,ARM微处理器的工作状态一般有两种,并可在两种状态之间切换:    • ARM状态:此时处理器执行32位的字对齐的ARM指令;    • Thumb状态:此时处理器执行16位的、半字对齐的Thumb指令。2) Thumb和

2016-03-02 21:49:36 529

转载 如何学习总线技术

http://blog.csdn.net/ce123/article/details/6853195如何学习总线技术以形象生动的比喻来描绘了总线技术的基本思想,指出了总线的基本分类和总线传输的基本原理,以及在学习过程中应当掌握的最基本的知识,对初学者有起到抛砖引入的作用。0引言  如果一座只能容一个人来往的独木桥,两端的人都想要过桥,为了不拥挤、阻塞,那我们就得采取有效的办法。比如

2016-03-02 21:46:14 382

转载 关于DMA和它的仇家

http://www.cnblogs.com/armlinux/archive/2010/08/18/2396940.html[基础知识]什么叫做DMA?DMA=Direct Memory Access。这是一种通过硬件实现的数据传输机制。简单的说,就是不在CPU的参与下完成数据的传输。[/基础知识]不太明白?我举个简单的例子:比如有个数组a,我希望把这个数组中的内容传

2016-02-29 22:46:34 460

原创 TCM vs IRAM

https://community.arm.com/thread/3104TCMs are connected directly to the processor, not through the bus.  So you don't have bus arbitration or the overhead of the bus protocol when you speak to

2016-02-29 22:44:27 779

转载 UART接口

http://bbs.elecfans.com/jishu_285811_1_1.htmlUniversal Asynchronous Receiver/Transmitter,通用异步接收/发送装置,UART是一个并行输入成为串行输出的芯片,通常集成在主板上.一般RS232串口用得到UART.Modem也会用到UART。  UART是用于控制计算机与串行设备的芯片。有一点要注

2016-02-29 22:02:27 4680

原创 常用网站

记录一些常用的网站linux: http://lxr.free-electrons.com/http://www.linuxjournal.com/bloghttp://my.oschina.net/fgq611/blog/113249fix bug:http://stackoverflow.com/ firmware:http://bb

2016-02-27 12:06:46 353

原创 Makefile 总结

以GNU make为例makefile原理:makefile组成部分:变量内置变量:VPATH: Search Path for All PrerequisitesThe value of the make variable VPATH specifies a list of directories that make should search.Most ofte

2016-02-25 21:52:45 435

转载 无锁编程

在测试ftl的过程中,我们发现spinlock加锁解锁占用了大量的cpu时间,所以开始搜索无锁编程技术。网上资料比较多,比较喜欢的还是coolshell的文章。http://coolshell.cn/articles/8239.html个人总结:1. 线程间同步采用“消费者-生产者”模式:用数组实现,一个线程在一头取,另一个线程在另一头放;相关文献:1.无锁

2015-11-01 11:55:43 470

原创 windows系统清理与维护

随着系统中软件的安装,系统越来越庞大,系统中运行了大量不必要的服务。当初军哥告诉我,关闭服务最基本的方法:如果这个服务你不清楚,看看它的依赖关系,若有人依赖它,不要关,否则将其启动类型设为手动,停止服务。我屡试不爽,但有些服务也要格外注意:1.WLAN AntoConfigWLANSVC 服务提供配置、发现、连接、断开与 IEEE 802.11 标准定义的无线局域网(WLAN)的连

2015-11-01 11:29:50 492

原创 linux kernel学习

内核源码分析http://oss.org.cn/kernel-book/index.htm内核api手册http://oss.org.cn/ossdocs/gnu_linux/kernel-api/内核api原版手册https://www.kernel.org/doc/htmldocs/kernel-api/内核文档https://www.kernel.org/doc/Document

2015-11-01 11:24:08 427

原创 kgdb调试内核模块

参考文献http://blog.csdn.net/majieyue/article/details/6967770http://blog.csdn.net/majieyue/article/details/6970883http://www.cnitblog.com/schkui/archive/2006/11/01/18735.htmlhttp://kgdb.geeksofp

2015-11-01 11:20:30 752

原创 soft lookup原因

调试ftl,总是出现softlockup搜索了一些资料,也调试了softlockup的bug,现总结一下。原理:1. linux softlockup检测机制:启动watchdog进程,用硬件定时器检测该进程;watchdog运行时发现前后时间大于系统所设置的softlockup时间,则认为出现softlockup           2.某个线程长期占有cpu而不释放(通常是自己的线

2015-11-01 11:14:45 2048

转载 Fio IO性能测试工具介绍

http://blog.yufeng.info/archives/677官网:http://freshmeat.net/projects/fio/git路径:git.kernel.dk/project.git获取方法:git clone git://git.kernel.dk/project.gitfio is an I/O tool meant to be

2015-11-01 11:11:22 766

转载 gpg(加密签名工具)使用

原文链接:http://blog.chinaunix.net/uid-9525959-id-2001824.html[功能] GPG是加密和数字签名的免费工具,大多用于加密信息的传递。除了仅用密码加密外,GPG最大的不同是提供了“公钥/私钥”对。利用你的“公钥”别人加密信息不再需要告诉你密码,随时随地都能发送加密信息。而这种加密是单向的,只有你的“私钥”能解开加密。数字

2015-11-01 11:09:05 2961

原创 vim使用

vim是linux下的文本编辑器,功能强大;使用初期极不习惯,渐渐地,就感觉其强大,方便。高亮注释在.vimrc中添加highlight Comment ctermfg=green guifg=green缩进:J →                  把所有的行连接起来(变成一行) →         左右缩进= →                 

2015-11-01 11:07:19 306

原创 cygwin自动安装工具

自动安装软件工具apt-cyg输入以下命令: svn --force export http://apt-cyg.googlecode.com/svn/trunk/ /bin/ cd /bin vim apt-cyg chmod +x apt-cyg apt-cyg install wget(示例)question:

2015-11-01 09:18:00 553 2

转载 linux下svn客户端安装及使用

linux下svn客户端安装及环境配置使用Beyond Compare在linux下进行svn diff 和 svn merge一、svn客户端安装及环境配置.果所在的linux机器上没有安装svn客户端,则首先安装svn客户端:1. subversion-1.4.3.tar.bz2  subversion-deps-1.4.3.tar.bz22. 使用tar

2015-11-01 09:08:37 1985 1

转载 详解C中volatile关键字

http://www.cnblogs.com/yc_sunniwell/archive/2010/06/24/1764231.html    volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变

2015-11-01 09:05:42 403

原创 bash使用

bash是linux下的默认shell。快捷键:看到一些文章提及到快捷键可以加速使用;后来发现很有必要学习;特意找了一下出处,发现通过 man bash,里面有“Commands for Moving”,"Commands for Maniplating the History",之下就是快捷键常用快捷键如下:ctrl + a   移动到句首ctrl + e   移动到

2015-11-01 09:04:08 335

原创 c编程(linux)

1. function declaration isn't a prototypeerror: static void print_dcache_info(); normal:static void print_dcache_info(void); In C int foo() and int foo(void) are different functions. int

2015-11-01 08:58:47 445

原创 git使用

git是linux下的分布式版本管理工具,由linus开发。1.查看帮助 git help command2.显示带修改记录的log信息 git log --stat3.修改刚提交的注释 git commit --amend4.获取文件的历史版本 git checkout [commit] [file]5.版本回滚 git reset --h

2015-11-01 08:54:58 328

原创 red hat使用

1.配置网络2.开机自启动命令3.使用本地yum源4.yum使用1.配置网络以root身份登录,输入 setup,选择网络进行配置(设置ip, netgate等)配置文件位置 /etc/sysconfig/network-scripts/ifcfg-eth0,修改boot项 2.开机自启动命令编辑 /etc/rc.local3.使用本地yum

2015-11-01 08:11:29 463

转载 centos 安装KVM及使用

一、安装KVM原始链接 http://www.vpsee.com/2012/04/install-kvm-on-centos-6-2/1.检查cpu是否支持KVM;(intel vmx; amd svm)# egrep 'vmx|svm' /proc/cpuinfo2.安装KVM# yum -y install qemu-kvm libvirt python-virti

2015-10-31 23:33:17 412

转载 CentOS为firefox安装flash插件

原文链接 http://www.ienter.org/html/2013/07/108.htmlcentos7默认的firefox浏览器没有安装flash 插件,无法观看网易公开课等优秀资源。在网上找到这篇文章。简单总结一下:1.安装adobe源http://get.adobe.com/cn/flashplayer/下载adobe-release-i386-

2015-10-31 23:26:19 401

原创 删除文件后,磁盘可用空间并没有释放怎么办?

我们部分服务器的根文件系统只预留了50G空间,并且常用于调试的/var目录并未 挂载到单独的磁盘上而是共享这50G。那么 过多的打印信息或crash就会造成根目 录可用空间不够。但是删除大文件后,磁盘可用空间可能不会增大。下面以删除存放系统log信息的message为例:# rm /var/log/messages# df / -hFilesystem            

2015-10-29 13:03:46 8896

原创 代码覆盖工具gcov/lcov的使用

参考文献:gcov使用示例  http://blog.csdn.net/lishenglong666/article/details/8056777lcov使用示例   http://www.linuxidc.com/Linux/2011-05/36544.htmgcov测试内核覆盖率 http://ltp.sourceforge.net/coverage/gcov.php1.

2015-10-22 20:46:03 1770

原创 内核信息打印到文件

在编写驱动过程中,调试阶段需要将一些信息打印到文件里,然后分析其逻辑是否存在问题。初始主要靠两种方式1)dmesg 2)cat /proc/kmsg.方式1)打印的信息不全;方式2)有时打印的信息很少,就返回。在网上查了一些资料,得到两种方法:1)写C代码,在内核态打印信息到文件中2)写shell脚本,配置klogd方法1)http://linux.chinaunix.

2015-01-21 09:29:40 2557

原创 linux根据进程名称杀掉进程

linux根据进程名称杀掉进程

2015-01-11 21:14:04 817

转载 透过 Linux 内核看无锁编程

http://www.ibm.com/developerworks/cn/linux/l-cn-lockfree/

2014-08-21 18:09:46 587

转载 图解WPF程序打包全过程

首先打开已经完成的工程,如图:  下面开始制作安装程序包。第一步:[文件]——[新建]——[项目]——安装项目。   名称——可以自己根据要求修改。位置——是指你要制作的安装文件存放在什么目录内,可以根据需要修改,笔者一般是把它放在本工程的同一个目录内。打包完成后,可以在此目录下找到安装程序。

2014-03-13 14:54:40 1526

原创 _CrtDbgReport: String too long or IO Error

<br />摘自:http://www.cnblogs.com/BeyondTechnology/archive/2011/01/09/1931533.html<br /> <br />wprintf_s不能正常输出中文的解决办法<br />使用如下方法调用wprintf_s输出中文时往往出现带?的乱码:<br />wprintf_s(L"%s",(LPCWSTR)cmdLineArr[1]);<br /> 解决方案:包含头文件locale.h,并在程序开始调用setlocale(LC_ALL

2011-01-18 18:48:00 1798

原创 路径中斜杠“/”与反斜杠“\”有何区别?

http://wenda.tianya.cn/wenda/thread?tid=78fbf81f55c76dbf正斜杠/slash 表示除法,分隔。在windows系统中通常用来分隔命令行参数,/表示选项等。不能作为文件名。 而在unix系统中,/表示目录。由于web遵循unix命名,所以在网址(URL)中,/表示目录。 反斜杠/backslash,在windows系统中用来表示目录。 计算机操作系统不同 比如Windows本地路径用/ 例如C:/windows/system32

2010-10-11 09:51:00 771

转载 更换CComboBox的属性

原文链接:http://www.codeproject.com/KB/combobox/recreatecombobox.aspx这篇文章不错,担心以后被网站删除掉,难以看到,于是,放在这。以后自己查看也方便。呵呵 Dynamically re-creating a combo boxBy Paul Vickery | 2 Aug 2002 Function to recreate a combo box at run-time to allow new styles, preserving its dat

2010-09-29 11:05:00 1016

GN源码20220306

GN源代码,内含文档,示例。 支持源码编译。 sudo apt-get install clang python build/gen.py ninja -C out GN可执行程序在out目录下。

2022-03-09

gn quick start

gn官方提供的demo; 其中quick_start是文档,讲解如何使用gn;可以按说明练习。

2022-03-06

Makefile模板示例

Makefile模板示例;两个简单的Makefile模板和一个复杂的Makefile模板

2016-04-30

Implementing Lock Free Queues

无锁队列的C实现方法;作为备份;希望对别人有帮助

2015-11-01

ftl_papers

ftl papers, one introduce dftl, another introduce a new ftl scheme; for myself

2013-12-18

POSIX_Programmers_Guide

符合posix规范的跨平台编程指导书;适合底层开发,linux开发;windows对posix支持不是太好

2013-12-18

visual studio assist

visual studio助手,包含两个版本,一个可以用于vs2010;另一个是助手的早期版本。

2013-12-10

Linux设备驱动开发详解_宋宝华

Linux设备驱动开发详解,全面,实用性强。

2013-12-06

c++ lib guidebook

c++ lib guidebook 经典说明书,比较全;和cplusplus提供的一样,但那个网站 打开太慢了。

2013-01-15

Dependency walker

Dependency walker

2012-12-14

书籍:COM技术内幕

书籍,系统讲解Com的内部机制;以备以后查询方便;

2011-07-13

Microsoft word 03 visual basic reference(English)

下载地址http://www.microsoft.com/download/en/confirmation.aspx?id=15312

2011-07-06

vcDll vc6动态链接库

vc安装时带的dll,有时候系统恢复时找不到

2011-02-13

snort-2.8.3.1源码及windows安装包

snort-2.8.3.1源码及windows安装包

2009-09-20

snort源码大全(1.7,2.4,2.6)

snort源码大全,包含snort-1.7.tar.gz,snort-2.4.tar.gz,snort-2.6.tar.gz 直接解压缩就管用,献给入侵检测的朋友

2009-09-19

省省看(节能软件,简单,好用)

这是一个节能软件,我觉得挺有意思,就传了上来,希望对你们有用。 它可以定时间提醒你,如果你是计算机行业的,每天总对着电脑,不妨用上它。 对于笔记本用户,它可以代替电源管理器。

2008-12-28

日历(365软件,好用)

这是一个日历软件,我局得挺有意思,就传了上来,希望对你们有用。

2008-12-28

程序:将逗号转化为空格

有时候需要从文件中读入数据,但是,为字符数组赋值时,可能会出现一些意想不到的后果。 希望这个程序对你有帮助! 源代码: #include #include //本程序读入文件,将文件中的','替换为' ',然后保存为另一文件 //#define src_name "in.txt" //#define dst_name "out.txt" int main() { char src_name[100],dst_name[100]; FILE *ifp, *ofp; int ch; long begin,end; printf("please enter the source file:"); scanf("%s",src_name);//scanf("%S\n",src_name);不能加'\n' printf("please enter the destination file:"); scanf("%s",dst_name); if(ifp =fopen(src_name,"r")){ printf("opened src_file\n"); } if(ofp =fopen(dst_name,"w+")){ printf("opened dst_file\n"); } printf("changing........\n"); begin =time(NULL); ch =fgetc(ifp); while(ch!=EOF){ if(ch==',')ch=' '; if(fputc(ch,ofp)==EOF){ printf("error while writing!"); return -1; } ch=fgetc(ifp); } // fputc(ch,ofp); end =time(NULL); printf("the consumed time:%d\n",end-begin); printf("It's OK!\n"); fclose(ifp); fclose(ofp); return 0; }

2008-11-27

空空如也

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

TA关注的人

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