随笔分类 -  c/c++

摘要:注册到lua的方式有两种,一种是lua解释器,如果支持动态链接,使用动态链接机制,将函数接口编译成动态链接库,然后将动态链接库放到lua的C路径(LUA_CPATH)中,然后在lua文件中直接使用 require "xxx",这句话会使主机编写的动态链接库链接到lua,并寻找xxx,将模块注册到pa 阅读全文
posted @ 2018-04-24 16:45 hbg-rohens 阅读(386) 评论(0) 推荐(0)
摘要:今天在写线程测试程序(pthread_create)时出现如下问题, 明明在头文件中包含了<pthread.h>,但是仍然提示找不到函数 pthread_create 和 pthread_join,查资料得知, pthread不是linux下的默认库,也就是在链接的时候,无法找到pthread库文件 阅读全文
posted @ 2018-03-21 14:24 hbg-rohens 阅读(334) 评论(0) 推荐(0)
摘要:C语言中的操作符优先级,请熟记。 阅读全文
posted @ 2018-03-14 18:19 hbg-rohens 阅读(200) 评论(0) 推荐(0)
摘要:C语言中打印float或double类型最常用的是%f格式,最近看书时看到有使用%g格式打印。 %f 表示按浮点数的格式打印。 小数点后固定6位 %e 表示以指数形式的浮点数格式输出。 %g 表示自动选择合适的表示法输出。 例如: #include <unistd.h>#include <stdio 阅读全文
posted @ 2018-02-27 19:23 hbg-rohens 阅读(1661) 评论(0) 推荐(1)
摘要:昨天在研究dropbear实现时,看到初始化脚本/etc/init.d/dropbear中有关于文件锁lock的内容,如下: lock /tmp/.switch2jffs mkdir -p /etc/dropbear mv /tmp/dropbear/dropbear_* /etc/dropbear 阅读全文
posted @ 2018-01-25 10:03 hbg-rohens 阅读(979) 评论(0) 推荐(0)
摘要:在调试 主动扫描时,调用命令 “iwinfo wlan0 scan”时, 在iwinfo中添加的调试语句没有打印和记录到log中去。 后查看iwinfo的makefile发现,在生成iwinfo程序时,还生成了libiwinfo.so 和 iwinfo.so(适配lua相关)两个动态库文件。 因此需 阅读全文
posted @ 2018-01-12 14:23 hbg-rohens 阅读(1255) 评论(0) 推荐(0)
摘要:localtime函数 功能: 把从1970-1-1零点零分到当前时间系统所偏移的秒数时间转换为本地时间,而gmtime函数转换后的时间没有经过时区变换,是UTC时间 。 用法: #include <time.h> struct tm *localtime(const time_t *clock); 阅读全文
posted @ 2017-11-29 16:40 hbg-rohens 阅读(2417) 评论(0) 推荐(0)
摘要:摘自《APUE中文版第三版》 每个程序都接收到一张环境表。与参数表一样,环境表也是一个字符串指针数组,其中每个指针包含一个以null结束的字符串的地址。全局变量environ则包含了该指针数组的地址。 extern char **environ; 例如:如果该环境包含五个字符串,那么它看起来可能如下 阅读全文
posted @ 2017-11-28 11:13 hbg-rohens 阅读(261) 评论(0) 推荐(0)
摘要:有些信息存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位。 为了节省存储空间,并使处理简便,C语言提供了一种数据结构,称为“位域”或者“位段”。 所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,运行在程序中按域名进行操作。 (1)位域的定 阅读全文
posted @ 2017-06-22 19:10 hbg-rohens 阅读(354) 评论(0) 推荐(0)
摘要:u-boot中代码如下: debug ("Now running in RAM - U-Boot at: %08lx\n", dest_addr); 对应设备上的打印消息如下: Now running in RAM - U-Boot at: 83fcc000 %08lx的含义如下: 用8位数字表达一 阅读全文
posted @ 2017-01-22 16:46 hbg-rohens 阅读(1253) 评论(0) 推荐(0)
摘要:今天在看内核代码中看到: #define likely(x) __builtin_expect(!!(x), 1)#define unlikely(x) __builtin_expect(!!(x), 0) 对 __builtin_expect不是很理解,百度一下,得知: 在 GCC 手册中对 __ 阅读全文
posted @ 2016-08-19 09:53 hbg-rohens 阅读(786) 评论(0) 推荐(0)
摘要:标准I/O提供了三种类型的缓存: (1)全缓存。在这种情况下,当填满标准I/O 缓存后才进行实际 I/O 操作。对于驻在磁盘上的文件通常是由标准I/O库实施全缓存的。在一个流上执行第一次I/O操作时,相关标准I/O函数通常调用malloc获得需要使用的缓存。 (2)行缓存。在这种情况下,当在输入和输 阅读全文
posted @ 2016-08-12 11:29 hbg-rohens 阅读(354) 评论(0) 推荐(0)
摘要:(1)将指定的位置设为1value = value | ( 1 << bit_number) value |= 1 << bit_number(2)将指定的位置清空value = value & ~( 1 << bit_number) value &= ~( 1 << bit_number) (3) 阅读全文
posted @ 2016-05-25 18:30 hbg-rohens 阅读(189) 评论(0) 推荐(0)
摘要:位结构 位结构是一种特殊的结构, 在需按位访问一个字节或字的多个位时, 位结构比按位运算符更加方便。 位结构定义的一般形式为: struct位结构名{ 数据类型 变量名: 整型常数; 数据类型 变量名: 整型常数; } 位结构变量; 其中: 数据类型必须是int(unsigned或signed)。 ... 阅读全文
posted @ 2016-01-05 10:52 hbg-rohens 阅读(1107) 评论(0) 推荐(0)
摘要:size_t strlcpy(char *dst, const char *src, size_t siz){ char *d = dst; const char *s = src; size_t n = siz; /* Copy as many bytes as will fit */ i... 阅读全文
posted @ 2015-11-12 09:26 hbg-rohens 阅读(1290) 评论(0) 推荐(0)
摘要:kill和raise函数用来发送信号,区别在于:kill把信号发送给进程或进程组。kill(pid_t pid, int signo)raise把信号发送给进程自己,相当于raise(ing signo)kill( getpid(), int signo) 阅读全文
posted @ 2015-11-09 13:53 hbg-rohens 阅读(947) 评论(0) 推荐(0)
摘要:getuid() : 函数返回一个调用程序的真实用户ID。表明当前运行位置程序的执行者。geteuid():函数返回返回一个有效用户的ID。(EUID)是你最初执行程序时所用的ID,该ID是程序的所有者。 阅读全文
posted @ 2015-09-21 09:17 hbg-rohens 阅读(3531) 评论(0) 推荐(0)
摘要:用单引号引起来的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。用双引号引起来的字符串,代表的却是一个指向无名数组起始字符的指针,该数组被双引号之间的字符以及一个额外的二进制为零的字符‘\0’初始化。代码:#include #include int main() { c... 阅读全文
posted @ 2015-09-10 18:38 hbg-rohens 阅读(193) 评论(0) 推荐(0)
摘要:对于一些复杂的类型组合,总是搞不明白,今天阅读了“优先级规则”这块,有了进一步的理解,特将规则记在此处,供自己学习查询使用。优先级规则:A、声明从它的名字开始读取,然后按照优先级顺序依次读取B、优先级从高到低依次是B.1声明中被括号括起来的部分 B.2后缀操作符括号()表示这是一个函数,而方括号【】... 阅读全文
posted @ 2015-09-03 08:26 hbg-rohens 阅读(281) 评论(0) 推荐(0)
摘要:ASNI C标准规则采用值保留(valuepreserving)原则,就是几个整型操作数混合使用时,结果类型可能是有符合数,也可能是无符号数,取决于操作数的类型的相对大小。#include #define SIZE_OF_ARRAY(arr) (sizeof(arr)/sizeof(arr[0]))... 阅读全文
posted @ 2015-08-30 09:01 hbg-rohens 阅读(237) 评论(0) 推荐(0)