
Linux应用程序
24号杀手
这个作者很懒,什么都没留下…
展开
-
Linux下模块化编程生成函数库和编译方法
一、首先,为两个函数分别创建各自的源文件(将他们分别命名为fred.c和bill.c).下面第一个源文件:#include "stdio.h"void fred(int arg){printf("fred: we passed %d\n",arg);}下面是第二个源文件:#include "stdio.h"void bill(char *arg){print原创 2013-08-09 09:30:34 · 1341 阅读 · 0 评论 -
Linux线程同步之读写锁(rwlock)
读写锁和互斥量(互斥锁)很类似,是另一种线程同步机制,但不属于POSIX标准,可以用来同步同一进程中的各个线程。当然如果一个读写锁存放在多个进程共享的某个内存区中,那么还可以用来进行进程间的同步,和互斥量不同的是:互斥量会把试图进入已保护的临界区的线程都阻塞;然而读写锁会视当前进入临界区的线程和请求进入临界区的线程的属性来判断是否允许线程进入。相对互斥量只有加锁和不加锁两种状态,读转载 2013-08-09 10:23:55 · 566 阅读 · 0 评论 -
ubuntu中找不到头文件term.h和curses.h的原因
在没安装ncurses包的前,/usr/include中是没有term.h和curses.h的,所以程序会如下报错:term.h: 没有那个文件或目录curses.h: 没有那个文件或目录 解决方法:安装ncurses库(兼容curses库)sudo apt-get install libncurses5-dev安装完成后,成功添加curses以及ter转载 2013-11-02 12:11:41 · 997 阅读 · 0 评论 -
ubuntu下svn使用指南
原文地址:http://blog.sina.com.cn/s/blog_4c451e0e0100dhbl.htmlubuntu下安装subversion客户端:sudo apt-get install subversion subversion-tools详细请看 http://www.subversion.org.cn/svnbook/1.1/index.html svn子命转载 2014-07-18 18:07:30 · 399 阅读 · 0 评论 -
GCC 编译使用动态链接库
动态链接库1. 创建动态链接库复制代码代码如下:#includevoid hello(){ printf("hello world/n");}用命令gcc -shared hello.c -o libhello.so编译为动态库。可以看到,当前目录下多了一个文件libhello.so。2. 再编辑一个测试文件test转载 2016-08-12 16:13:42 · 1439 阅读 · 0 评论 -
Linux动态共享对象(动态链接库)装载过程
之前开发项目时,曾遇到一个问题:模块中用到的某so文件与模块某源码文件中存在同名函数(在链接器linker来看,是同名符号)时,so文件中同名函数被“覆盖”,从而导致模块启动时崩溃。当时曾专门做过实验,得到了避免出问题的一些小技巧(参见之前的某篇笔记 ),但其实对引发问题的底层原因并特别不清楚(当时由于这类问题对应的术语及其英文关键词一无所知,导致google不出干货)。最近,阅读《 程序员的自我转载 2016-10-19 10:22:26 · 519 阅读 · 0 评论