linux高级编程
文章平均质量分 77
RICH_BABA
这个作者很懒,什么都没留下…
展开
-
一段简单程序为什么在linux终端与win控制台下运行效果不同?(望高手指点)
一段简单程序为什么在linux终端与win控制台下运行效果不同,是程序问题还是兼容性问题,希望有谁能指点一下: 程序是这样的(怎么加为高亮?):#include int ProgressBar(int p, char *barname);int main(int argc, char *argv[]){原创 2010-04-16 17:15:00 · 1910 阅读 · 2 评论 -
dlsym与-fPIC,以及objcopy
这两天做的工作当中,遇到了这样一个需求。在Linux环境下,要为一个daemon程序的一个动态库进行升级,不不打断这个daemon的运行。这个动态库的函数会被daemon的多个线程调用。在升级时,对于已经使用了这个动态库的线程要毫无影响,直到这样的线程再次调用动态库的API时,再使用新的动态库。换句话说,在升级时,新旧两个动态库可以同时被这个daemon的线程调用。转载 2011-03-24 21:06:00 · 1824 阅读 · 0 评论 -
openssl 客户端程序移植到arm平台 OK6410上运行
openssl 客户端程序如何移植到arm平台上运行? 在我的项目中拥有一个服务器程序file_server和一个客户端程序file_client,它们实现了通过安全套接字层传输文件的功能。原本两个程序都在pc上运行,现在要把客户端程序移植到arm平台上。原创 2011-02-12 14:27:00 · 3031 阅读 · 1 评论 -
线程条件变量详解
posix线程条件变量详解,解释pthread_cond_wait为什么要配合pthread_mutex_lock/unlock使用。原创 2011-02-24 14:08:00 · 1548 阅读 · 0 评论 -
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 · 4661 阅读 · 3 评论 -
Linux下静态链接库与动态链接库的区别
通常情况下,对函数库的链接是放在编译时期(compile time)完成的。所有相关的对象文件 (object file)与牵涉到的函数库(library)被链接合成一个可执行文件 (executable file)。程序 在运行 时,与函数库再无瓜葛,因为所有需要的函数已拷贝到自己门下。所以这些函数库被成为静态库(static libaray),通常文件 名为“libxxx.a”的形式。其实,我们也可以把对一些库函数的链接载入推迟到程序运行的时期(runtime)。这就是如雷贯耳的动态链接库(dy转载 2011-01-14 11:52:00 · 19352 阅读 · 3 评论 -
NTP校时源码(一个教完整的NTP服务项目示例,摘自国嵌实验手册)
NTP校时源码(一个教完整的NTP服务项目示例,摘自国嵌实验手册),实现简单,综合性强,涵盖shell、linux系统管理、linux高级编程等知识点,是一个很好的编程练习项目代码。修正了一些网上流传的实现精确校时代码算法的错误。原创 2010-12-03 14:21:00 · 18892 阅读 · 8 评论 -
TQ2440 上用多线程实现的mp3 播放器
概述: @ 这是一个基于 tq2440开发板的, 使用用多线程实现的mp3播放器。 @ 从软件层次来看, 驱动层包括 按键驱动 和 声卡驱动, 需要自己实现的是 按键驱动; 应用层有 MP3主播放程序 和 Madplay播放器。 @ 除了madplay 播放器播放MP3, 为了好玩 ,还将蜂鸣器播放音乐的功能加了进去, 不过要用 下的一段 代码转换 编码数组 为程序可读的文件。@ 由于 madplay 编译后 本身会只会生成 madplay这个原创 2010-08-01 02:34:00 · 5061 阅读 · 5 评论 -
一个很好的vim配置(可鼠标操作vim有图)
上面就是效果图了,所有在我的资源中可以下到,下面附上使用说明: 使用方法: 1.将vimrc包中的.vimrc放到/home或者/root 目录下(具体要看你是什么身份登陆的)。 2.将其他两个zip包中plugin和doc中的文件分别放到 vim/doc 和vim/plugin 中,这两个目录具体是什么要看你的系统和vim的版本,可以先用locate命令找原创 2010-04-27 00:22:00 · 6744 阅读 · 5 评论 -
linux中ELF加载过程分析
ELF格式的二进制映像在装入和启动的过程中需要得到一个工具软件的协助,其主要的目的在于为目标映像建立起跟共享库的动态连接。这个工具称为 “解释器”。一个ELF映像在装入时需要用什么解释器是在编译/连接是就决定好了的,这信息就保存在映像的“解释器”部中。“解释器”部的类型为 PT_INTERP,找到后就根据其位置p_offset和大小p_filesz把整个“解释器”部读入缓冲区。整个“解释器”部实际上只是一个字符串,即解释器的文件名,例如“/lib/ld-linux.so.2”。有了解释器的文件名以后,就通过转载 2011-03-24 21:15:00 · 2460 阅读 · 0 评论