- 博客(25)
- 资源 (9)
- 收藏
- 关注
原创 linux内核相关镜像zImage、zImage、bzImage、vmlinuz、vmlinux、Image关系分析(摘自《国嵌-嵌入式Linux内核驱动进阶班实验手册》)
linux内核相关镜像zImage、zImage、bzImage、vmlinuz、vmlinux、Image关系分析(摘自《国嵌-嵌入式Linux内核驱动进阶班实验手册》)
2011-03-24 21:24:00 4948 1
转载 linux中ELF加载过程分析
ELF格式的二进制映像在装入和启动的过程中需要得到一个工具软件的协助,其主要的目的在于为目标映像建立起跟共享库的动态连接。这个工具称为 “解释器”。一个ELF映像在装入时需要用什么解释器是在编译/连接是就决定好了的,这信息就保存在映像的“解释器”部中。“解释器”部的类型为 PT_INTERP,找到后就根据其位置p_offset和大小p_filesz把整个“解释器”部读入缓冲区。整个“解释器”部实际上只是一个字符串,即解释器的文件名,例如“/lib/ld-linux.so.2”。有了解释器的文件名以后,就通过
2011-03-24 21:15:00 2396
转载 dlsym与-fPIC,以及objcopy
这两天做的工作当中,遇到了这样一个需求。在Linux环境下,要为一个daemon程序的一个动态库进行升级,不不打断这个daemon的运行。这个动态库的函数会被daemon的多个线程调用。在升级时,对于已经使用了这个动态库的线程要毫无影响,直到这样的线程再次调用动态库的API时,再使用新的动态库。换句话说,在升级时,新旧两个动态库可以同时被这个daemon的线程调用。
2011-03-24 21:06:00 1753
原创 线程条件变量详解
posix线程条件变量详解,解释pthread_cond_wait为什么要配合pthread_mutex_lock/unlock使用。
2011-02-24 14:08:00 1506
原创 openssl 客户端程序移植到arm平台 OK6410上运行
openssl 客户端程序如何移植到arm平台上运行? 在我的项目中拥有一个服务器程序file_server和一个客户端程序file_client,它们实现了通过安全套接字层传输文件的功能。原本两个程序都在pc上运行,现在要把客户端程序移植到arm平台上。
2011-02-12 14:27:00 2995 1
原创 NFS无法挂载,出现错误:reason given by server: Permission denied的解决办法
NFS无法挂载,出现错误:reason given by server: Permission denied的解决办法
2011-01-25 18:57:00 6620
转载 Linux下静态链接库与动态链接库的区别
通常情况下,对函数库的链接是放在编译时期(compile time)完成的。所有相关的对象文件 (object file)与牵涉到的函数库(library)被链接合成一个可执行文件 (executable file)。程序 在运行 时,与函数库再无瓜葛,因为所有需要的函数已拷贝到自己门下。所以这些函数库被成为静态库(static libaray),通常文件 名为“libxxx.a”的形式。其实,我们也可以把对一些库函数的链接载入推迟到程序运行的时期(runtime)。这就是如雷贯耳的动态链接库(dy
2011-01-14 11:52:00 19261 3
原创 NTP校时源码(一个教完整的NTP服务项目示例,摘自国嵌实验手册)
NTP校时源码(一个教完整的NTP服务项目示例,摘自国嵌实验手册),实现简单,综合性强,涵盖shell、linux系统管理、linux高级编程等知识点,是一个很好的编程练习项目代码。修正了一些网上流传的实现精确校时代码算法的错误。
2010-12-03 14:21:00 18586 8
原创 linux c 实现目录拷贝
#include #include #include #include #include #include #include #ifndef DEBUG #define PDEBUG(fmt, args...)/ do{}while(0)#else #define PDEBUG(fmt, args...)/ printf("[%s:%d]"fmt, __func__, __LINE__, ##args)#endif#ifndef
2010-11-22 11:48:00 4627 3
翻译 翻译了一篇关于网络安全的文章
1. IntroductionBriefly, the dump of network traffic represents a process of establishing a TCP connection between two machines via NetBIOS session service over SMB protocol. The report will firstly provide a general description of problems identified
2010-10-24 10:49:00 3772 2
原创 在2.6内核中,通过 netlink实现单播通讯(文件监控实例)
在2.6内核中, netlink相关的接口函数随着版本的变化很大,现在网上流传的多数代码是以较老的版本(2.6.24以下)作为依托。这里,我将一段基于2.6.18的简单的代码移植到了2.6.27中,希望可以帮助大家理解其中的变化。
2010-10-03 20:23:00 4695 2
转载 C++的多态性
C++多态技术 摘要本文描述了C++中的各种多态性。重点阐述了面向对象的动态多态和基于模板的静态多态,并初步探讨了两种技术的结合使用。 关键词多态 继承 虚函数 模板 宏 函数重载 泛型编程 泛型模式 导言多态(polymorphism)一词最初来源于希腊语polumorphos,含义是具有多种形式或形态的
2010-09-11 18:05:00 774
原创 C++中的异常处理模块--try, throw, catch总结
try ,throw, catch是 C++异常处理的 利器,他们的引入使得你的程序结构更加清晰。 如果曾经用C 语言写程序,你一定体验过使用大量的if, else结构,甚至是多重的if, else嵌套处理 异常情况带来的麻烦。而且这样写出来的 代码也会很长很难看, 因为为了使程序严谨, 你不得不在每个可能出错的地方都加上if, else结构。 C++的try ,throw, catch, 将程序的异常处理系统化和结构化,我们只需要遵循这样的结构:try{ /*以下是 受异常监控
2010-09-07 02:06:00 2261
原创 用C语言写俄罗斯方块
用C语言写俄罗斯方块[微软用户1] 目录(需求):1. 屏幕作图与窗口实现;2. 方块的构造与产生;3. 方块的移动与翻转;4. 中断计时与方块自由下落;5. 判断方块碰撞与消行;6. 按键控制;7. 扩展新的功能;开发环境:1. 编译器tc2.02. 编辑器wintc1.83. 运行环境xp下dosbox1. 屏幕作图与窗口实现将整个屏幕划分成四部分:a、主游戏窗口;b、一个给预览下一个方块的4*4窗口;c、记录窗口SCORE和记录窗口LEVEL;d、提示
2010-08-15 21:27:00 12592 7
原创 TQ2440 上用多线程实现的mp3 播放器
概述: @ 这是一个基于 tq2440开发板的, 使用用多线程实现的mp3播放器。 @ 从软件层次来看, 驱动层包括 按键驱动 和 声卡驱动, 需要自己实现的是 按键驱动; 应用层有 MP3主播放程序 和 Madplay播放器。 @ 除了madplay 播放器播放MP3, 为了好玩 ,还将蜂鸣器播放音乐的功能加了进去, 不过要用 下的一段 代码转换 编码数组 为程序可读的文件。@ 由于 madplay 编译后 本身会只会生成 madplay这个
2010-08-01 02:34:00 4989 5
原创 虚拟机linux 网络配置,ping不通,不能上网请试试这个(图文)
环境:虚拟机+fedora10,路由上网 1.终端中输入 vim /etc/sysconfig/network-scripts/ifcfg-eth0,打开配置文件,改为: DEVICE=eth0 # 设备名 HWADDR=00:0c:29:ad:e1:bcONBOOT=yes # 是否随系统启动开启设备
2010-05-08 19:49:00 8241 4
原创 一个很好的vim配置(可鼠标操作vim有图)
上面就是效果图了,所有在我的资源中可以下到,下面附上使用说明: 使用方法: 1.将vimrc包中的.vimrc放到/home或者/root 目录下(具体要看你是什么身份登陆的)。 2.将其他两个zip包中plugin和doc中的文件分别放到 vim/doc 和vim/plugin 中,这两个目录具体是什么要看你的系统和vim的版本,可以先用locate命令找
2010-04-27 00:22:00 6700 5
原创 修改 SELINUX导致无法进入图形界面的处理办法
由于VMware中硬盘空间分配的太少,自己重新分配了一块硬盘挂载到/MyDisk目录下,并通过samba服务共享它。 这时出现问题了,权限等其他设置都没错(到这里配置:/etc/samba/smb.conf,通过这个启动 /etc/init.d/smb restart)通过guest登陆后也看得到共享目录,就是双击时提示“没有权限”无法访问。
2010-04-22 16:30:00 3281 1
转载 Bash 中的递归函数
作为一种解释性语言,尽管 bash 对编程提供了一定的支持,但是在某些方面却存在一些限制。本文将逐一探讨在 bash 中编写递归函数时需要注意的返回值、参数传递和性能等方面的问题,并给出可能的解决方法,最后对如何优化 shell 脚本性能提供了一个建议。作为 Linux/Unix 系统上内核与用户之间的接口,shell 由于使用方便、可交互能力强、具有强大的编程能力等特性而受到广泛的应用。
2010-04-22 11:08:00 1142
原创 一个可以计算表达式的计算器
一个可以计算表达式的计算器,还带了闹钟功能,当然做的实在太业余(目录功能还没加完),不会MFC,用win32的API函数凑出了的。 完全展开: 精简模式: 记录窗口: 消息窗口: 闹钟:
2010-04-16 20:08:00 1210
原创 一段简单程序为什么在linux终端与win控制台下运行效果不同?(望高手指点)
一段简单程序为什么在linux终端与win控制台下运行效果不同,是程序问题还是兼容性问题,希望有谁能指点一下: 程序是这样的(怎么加为高亮?):#include int ProgressBar(int p, char *barname);int main(int argc, char *argv[]){
2010-04-16 17:15:00 1868 2
转载 (转)typedef用法小结
这两天在看程序的时候,发现很多地方都用到typedef,在结构体定义,还有一些数组等地方都大量的用到.但是有些地方还不是很清楚,今天下午,就想好好研究一下.上网搜了一下,有不少资料.归纳一下:来源一:Using typedef to Curb Miscreant CodeTypedef 声明有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法。不管怎样,使用 typedef 能
2010-01-29 21:20:00 791
原创 我买的开发板——大虾网DX32(for STM32)
最近准备学习ARM芯片~由于基础和能力都不够,看到强大的ARM9芯片就没底气了。听了一前辈的意见,打算玩玩STM32. STM32是也是ARM芯片,是独立于ARM9和ARM7以外的一个体系——CORTEX-M3。要说ARM7是赛扬,ARM9是酷睿的话,这个CORTEX会不会就是奔腾呢?呵呵。实际上Cortex-A0系列的速度和性能比ARM9高不少. Cortex系列更确切
2009-12-16 01:10:00 4435 1
转载 我对usb--IN、OUT事务的软件角度理解(gliethttp)
文章来源:http://gliethttp.cublog.cn[转载请声明出处]当设置地址的setup包发送完之后usb host主机会继续产生一个IN事务,进而进入这里,将setup包中设置的地址值,配置到usb从设备上--pdiusbd12对于PDIUSBD12来说,当为OUT事务数据包时,
2009-12-03 23:45:00 2298
原创 Protues 7.6仿真430 + LCD 简易贪食蛇
闲来无事,用protues+LM3224做的简易的贪食蛇游戏。使用protues7.6才出现的仿真模型MSP430F2131,效果见图。有需要protues7.6携带版的朋友可告诉我邮箱。需要贪食蛇及LM3224显示驱动源码,将同时附上。 本人初学者,水平有限,请高手指点。硬件连接图及开机界面: 注:软件仿真时没有考虑430的端口电压3.3v和lcd
2009-11-28 15:50:00 3467 24
linux c函数手册、c、c++函数手册、linux高级编程
2010-12-03
linux命令查询手册、linux shell编程经典书籍、shell参数表整理、linux系统管理
2010-12-03
一个很好的vim配置(可鼠标操作,有目录,自动补全)
2010-04-27
Protues 7.6仿真的430 + LCD 简易贪食蛇c源码
2009-11-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人