DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

2015年6月12日

摘要: glibc除了提供最底层的C运行库,还封装了kernel提供的API,程序通过glibc进行系统调用(syscall)。应用层面的C库,比如OpenSSL库:/usr/include/openssl比如函数SSL_set_session查看手册 manSSL_set_session引入头文件#inc... 阅读全文
posted @ 2015-06-12 10:16 DoubleLi 阅读(966) 评论(0) 推荐(0)

摘要: 最近在做Android,其中一个任务是写一个能在Linux命令行运行的测试AP,运行这个AP就能关闭设备电源,即Power Off。在 Linux内核中已经找到了关闭电源的函数kernel_power_off(),然后也知道了在sys_reboot()函数中调用 kernel_power_off()... 阅读全文
posted @ 2015-06-12 10:13 DoubleLi 阅读(1317) 评论(0) 推荐(0)

摘要: NAME syscall - 间接系统调用SYNOPSIS #define _GNU_SOURCE #include #include /* For SYS_xxx definitions */ int syscall(int number, ...);DESCRIPTION syscall()... 阅读全文
posted @ 2015-06-12 10:07 DoubleLi 阅读(5134) 评论(0) 推荐(0)

摘要: __VA_ARGS__ 是一个可变参数的宏(gcc支持)。实现思想就是宏定义中参数列表的最后一个参数为省略号(也就是三个点)。这样预定义宏_ _VA_ARGS_ _就可以被用在替换部分中,替换省略号所代表的字符串。加##用来支持0个可变参数的情况。测试代码:#include#define PRINT... 阅读全文
posted @ 2015-06-12 09:54 DoubleLi 阅读(584) 评论(0) 推荐(0)

摘要: 1.Preprocessor Glue: The ## Operator预处理连接符:##操作符Like the # operator, the ## operator can be used in the replacement section of a function-like macro.A... 阅读全文
posted @ 2015-06-12 09:53 DoubleLi 阅读(5004) 评论(0) 推荐(0)

摘要: 宏里面使用:一、# 转为字符串#define PSQR(x) printf("the square of" #x "is %d.\n",(x)*(x)) 如果使用PSQR("test2”),则编译出错;而使用PSQR(test2),则ok;#define TEST2(p) (cout<<#p<... 阅读全文
posted @ 2015-06-12 09:52 DoubleLi 阅读(404) 评论(0) 推荐(0)

摘要: 网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用ethX,是由0开始的正整数,比如eth0、eth1...... ethX。而普通猫和ADSL的接口是pppX,比如ppp0等;机器中所有可用网卡及名字:参考:linux网络配置相关命令、虚拟网络接口... 阅读全文
posted @ 2015-06-12 09:24 DoubleLi 阅读(844) 评论(0) 推荐(0)

摘要: 网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用ethX,是由0开始的正整数,比如eth0、eth1...... ethX。而普通猫和ADSL的接口是pppX,比如ppp0等;机器中所有可用网卡、名字、配置文件:dmesg | grep eth :... 阅读全文
posted @ 2015-06-12 09:14 DoubleLi 阅读(937) 评论(0) 推荐(0)