前言:    在开发中,很多时候需要知道各个函数或者是某些设备对命令的操作用时,因此需要用到 gettimeofday 来获取当前时钟. 一,函数说明 #include  int gettimeofday(struct timeval *tv, struct timezone *tz); 注意:         1.精确级别,微妙级别        2.受系统时间修改影响        3.返回的秒数是从1970年1月1日0时0分0秒开始 其参数tv是保存获取时间结果的结构体,参数tz用于保存时…
一.ioctl函数的使用:原型:struct ioctl(struct file *file,unsigned int cmd,unsigned long arg);cmd有I2C_SLAVE,I2C_SLAVE_FORCE,I2C_TENBIT,I2C_S3C2410_SET_SPEED几个选项:I2C_SLAVE:对应的arg取值为I2C从机地址,用来设定I2C从机地址: I2C_SLAVE_FORCE:对应的arg取值为I2C从机地址,用来修改I2C从机地址: I2C_TENBIT:对应的…
1.在终端可以通过env.set命令查看当前的环境变量 2.通过main函数中的第三个参数可以得到当前进程的环境变量列表 int main(int argc , char *argv[] , char *env[]); 其中argv和env是一个指针数组,数组的最后一个元素为NULL 3.打印当前进程的环境变量 int main(int argc , char *argv[] , char *env[]){ char **p = env; while(*p){ printf("%s\n"…
1. open()函数 功能描述:用于打开或创建文件,在打开或创建文件时可以指定文件的属性及用户的权限等各种参数. 所需头文件:#include <sys/types.h>,#include <sys/stat.h>,#include <fcntl.h> 函数原型:int open(const char *pathname,int flags,int perms) 参数: pathname:被打开的文件名(可包括路径名如"dev/ttyS0") fl…
http://blog.163.com/he_junwei/blog/static/1979376462014021105242552/ http://www.ibm.com/developerworks/cn/linux/l-cn-signalsec/   Linux 多线程应用中编写安全的信号处理函数 在开发多线程应用时,开发人员一般都会考虑线程安全,会使用 pthread_mutex 去保护全局变量.如果应用中使用了信号,而且信号的产生不是因为程序运行出错,而是程序逻辑需要,譬如 SIGU…
1.main函数是一个进程还是一个线程? 不知道你是用c创建的,还是用java创建的. 因为它们都是以main()做为入口开始运行的. 是一个线程,同时还是一个进程. 在现在的操作系统中,都是多线程的.但是它执行的时候对外来说就是一个独立的进程. 这个进程中,可以包含多个线程,也可以只包含一个线程. 当用c写一段程序的话,就是在操作系统中起一个进程它包含一个线程. 而当用java等开发一个多线程的程序的话,它在操作系统中起了一个进程,但它可以包含多个同时运行的线程. 你起一个CS游戏,这上CS游…
转自:https://www.cnblogs.com/virusolf/p/4945642.html http://blog.163.com/he_junwei/blog/static/1979376462014021105242552/ http://www.ibm.com/developerworks/cn/linux/l-cn-signalsec/ Linux 多线程应用中编写安全的信号处理函数 在开发多线程应用时,开发人员一般都会考虑线程安全,会使用 pthread_mutex 去保护全…
转自:http://blog.csdn.net/chenyu105/article/details/7720162 重点关注关中断的情况.临时做了一个版本,在CPU 0上监控所有非0 CPU的时钟中断计数,检查他们在100ms内是否增加.如果否,则认为此CPU关中断.另外,在高精度时钟中断处理函数hrtimer_interrupt以及时钟中断总入口打点,记录最长耗时.关中断检测代码如下:void check_timer_start(void){int i = 1;for(;i<32;++i)cp…
Linux中main是如何执行的 这是一个看似简单的问题,但是要从Linux底层一点点研究问题比较多.找到了一遍研究这个问题的文章,但可能比较老了,还是在x86机器上进行的测试. 原文链接 开始 问题很简单:linux是怎么执行我的main()函数的? 在这片文档中,我将使用下面的一个简单c程序来阐述它是如何工作的.这个c程序的文件叫做"simple.c" main() { return (0); } 编译 gcc -o simple simple.c 生成可执行文件simple. 在…
倘若你查看过Linux Kernel的源码,那么你对 offsetof 和 container_of 这两个宏应该不陌生.这两个宏最初是极客写出的,后来在Linux内核中被推广使用. 1. offsetof 1.1 offsetof介绍 定义:offsetof在linux内核的include/linux/stddef.h中定义.#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) 说明:获得结构体(TYPE)的变量成员(…