2013年7月19日

摘要: 系统建立IPC通讯(如消息队列、共享内存时)必须指定一个ID值。通常情况下,该id值通过ftok函数得到。 ftok原型如下: key_t ftok( char * fname, int id ) fname就时你指定的文件名(该文件必须是存在而且可以访问的),id是子序号,虽然为int,但是只有8个比特被使用(0-255)。 当成功执行的时候,一个key_t值将会被返回,否则 -1 被返回。 在一般的UNI... 阅读全文
posted @ 2013-07-19 14:10 小葫芦藤 阅读(2159) 评论(0) 推荐(0) 编辑

2013年7月18日

摘要: ================================Author: taoyuetaoEmail: tao_yuetao@yahoo.com.cnBlog: taoyuetao.cublog.cn ================================在分析[url=javascript:;]linux[/url]内核时注意到有些函数会有添加__attribute__((unused)),在gcc手册中找到了有关的解释:unused:This attribute, attached to a function, means that the function is mea 阅读全文
posted @ 2013-07-18 17:39 小葫芦藤 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 试想这样的情景,程序调用某函数A,A函数存在于两个动态链接库liba.so,libb.so中,并且程序执行需要链接这两个库,此时程序调用的A函数到底是来自于a还是b呢? 这取决于链接时的顺序,比如先链接liba.so,这时候通过liba.so的导出符号表就可以找到函数A的定义,并加入到符号表中,链接libb.so的时候,符号表中已经存在函数A,就不会再更新符号表,所以调用的始终是liba.so中的A函数 这里的调用严重的依赖于链接库加载的顺序,可能会导致混乱;gcc的扩展中有如下属性__attribute__ ((visibility("hidden"))),可以用于抑制将 阅读全文
posted @ 2013-07-18 17:37 小葫芦藤 阅读(1006) 评论(0) 推荐(0) 编辑
摘要: 在kernel中有很多__init,这个东东到底是何方神圣捏?且听小生我一一道来。下面是其定义:file:/include/linux/init.h43 #define __init __attribute__ ((__section__ (".init.text"))) __cold44 #define __initdata __attribute__ ((__section__ (".init.data")))45 #define __exitdata __attribute__ ((__section__(".exit.data" 阅读全文
posted @ 2013-07-18 17:29 小葫芦藤 阅读(3881) 评论(0) 推荐(0) 编辑
摘要: __FILE__,__LINE__,FUNCTION__实现代码跟踪调试(linux下c语言编程 )先看下简单的初始代码:注意其编译运行后的结果。root@xuanfei-desktop:~/cpropram/2# cat global.h //头文件#ifndef CLOBAL_H #define GLOBAL_H #include int funca(void); int funcb(void);#endifroot@xuanfei-desktop:~/cpropram/2# cat funca.c //函数a#include "global.h"int funca(v 阅读全文
posted @ 2013-07-18 17:12 小葫芦藤 阅读(319) 评论(0) 推荐(0) 编辑

2013年7月17日

摘要: 作为一个多用户、多任务的操作系统,Linux下的文件一旦被删除,是难以恢复的。尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是 其他用户和一些有写盘动作的进程会很快覆盖这些数据。不过,对于家庭单机使用的Linux,或者误删文件后及时补救,还是可以恢复的。 恢复步骤一、用运SecureCRT远程对操作系统上,查看一下当前系统版本号,及文件系统格式 二、为方便本次实验,我们新创建一文件。 三、执行删除操作 四、运用,系统自还工具debugfs来修复 ... 阅读全文
posted @ 2013-07-17 10:12 小葫芦藤 阅读(258) 评论(0) 推荐(0) 编辑

2013年7月11日

摘要: dconfig及LD_LIBRARY_PATH1. 往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个library会找不到2.想往上面两个目录以外加东西的时候,一定要修改/etc/ld.so.conf,然后再调用ldconfig,不然也会找不到比如安装了一个mysql到/usr/local/mysql,mysql有一大堆library在/usr/local/mysql/lib下面,这时就需要在/etc/ld.so.conf下面加一行/usr/local/mysql/lib,保存过后ldconfig一下,新的lib 阅读全文
posted @ 2013-07-11 17:23 小葫芦藤 阅读(232) 评论(0) 推荐(0) 编辑

2013年7月10日

摘要: 许多人常需要花一些时间去了解一项视频编辑观念─场。一知半解者常会在第一个视频弄错此设定,导致序列和转场跳动。虽然多数人知道场是什么,但许多人在编辑时并不明白其含意。若您对此观念有所困扰或混淆,底下的说明可让您了解场对于视频编辑的影响,以及取得最佳结果的一些技巧。何谓场?每个电视帧都是通过扫描屏幕两次而产生的,第二个扫描的线条刚好填满第一次扫描所留下的缝隙。每个扫描即称为一个场。因此25帧/秒的电视画面实际上为50场/秒(若为NTSC则分别为30&60-因为我是中国人,因此我采用PAL的数值)。若要取得包含最大细节的帧,您需要合并两个场内的信息。截至目前为止,这些观念都很简单,不过若考虑 阅读全文
posted @ 2013-07-10 14:43 小葫芦藤 阅读(275) 评论(0) 推荐(0) 编辑
摘要: clock_tClocktypeType capable of representingclocktick counts and support arithmetical operations.This type is returned by theclockfunction of theheader to represent the number ofclockticks since the beginning of the program execution.time_tTimetypeType capable of representing times and support arith 阅读全文
posted @ 2013-07-10 14:22 小葫芦藤 阅读(647) 评论(0) 推荐(0) 编辑

2013年7月7日

摘要: var_export() 函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。var_export必须返回合法的php代码, 也就是说,var_export返回的代码,可以直接当作php代码赋值个一个变量。 而这个变量就会取得和被var_export一样的类型的值。看下面一个简单的例子:1程序输出:01array(020 => 1,031 => 2,042 =>05array(060 =>'apple',071 =>'banana',082 =>'or 阅读全文
posted @ 2013-07-07 11:10 小葫芦藤 阅读(166) 评论(0) 推荐(0) 编辑

导航