- 博客(5)
- 收藏
- 关注

原创 Linux下如何指定调用约定(calling convention)
<br />Windows下的调用约定可以是stdcall/cdecl/fastcall,这些标识加在函数名前面,如:<br /> <br />int __stdcall funca()<br /> <br /> <br />但在Linux下,如按照上面写法后,编译程序将导致编译错误,Linux下正确的语法如下:<br />int __attribute__((__stdcall__)) funca()<br />int __attribute__((__cdecl__)) funca()<br /> <b
2011-04-23 10:33:00
2516

原创 谈谈bit位序的问题
<br />Linux内核里面有下面代码:<br />struct iphdr {<br />#if defined(__LITTLE_ENDIAN_BITFIELD)<br /> __u8 ihl:4,<br /> version:4;<br />#elif defined (__BIG_ENDIAN_BITFIELD)<br /> __u8 version:4,<br /> ihl:4;<br />#else<br />
2011-04-22 23:12:00
680

原创 Linux内核软中断线程对于通用内核线程的启示
<br />2.6.11版本的内核软中断线程ksoftirqd代码如下,下面框架可以看出对于,吞吐量与处理延迟两者之间的权衡。<br /> <br />软中断线程处理概括:<br />1、如果没有活干(没有软中断等待处理)就 schedule()切出,并从运行队列里面删除(由于任务状态已经变成TASK_INTERRUPTIBLE)<br />2、如果有活儿干,就把当前pending的软中断处理完,处理过程中检查如果本线程运行时间过长,则 schedule()切出(cond_resched()完成这一切),避
2011-04-22 21:26:00
707
原创 rpm命令的查询模式常用方式举例
<br />rpm命令的查询模式语法:<br />rpm {-q|--query} [select-options] [query-options]<br /> <br />{...}表示必选部分,[...]表示可选部分<br />其中:<br />select-options表示查询的范围,比如:按照文件查还是包查,可以是:<br />PACKAGE_NAME:包的名字<br />-a, --all:查询所有的已安装包<br />-f, --file FILE:查询文件FILE所属的包<br />
2011-04-20 23:38:00
760
原创 getopt函数理解
<br />getopt函数定义如下:<br />#include <unistd.h><br />int getopt(int argc, char * const argv[], const char *optstring);<br /><br /> <br />相关的变量:<br /> extern char *optarg;<br /> extern int optind, opterr, optopt;<br /><br />argv参数数组
2011-04-14 21:16:00
475
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人