共 19 篇文章 |
|
Serial Port FilesOpening a Serial PortWriting Data to the PortReading Data from the PortClosing a Serial PortChapter 2, Configuring the Serial Port.Chapter 1, Basics of Serial ProgrammingChapter 2, Configuring the Serial PortChapter 3, Talking to MODEMsChapter 4, Advanced Serial ProgrammingAppendix A, RS-232 PinoutsAp... 阅112 转0 评0 公众公开 19-04-18 14:12 |
各种Mutex(互斥量)的区别。PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP.PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP.PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP.PTHREAD_MUTEX_FAST_NP 即 普通锁。PTHREAD_MUTEX_RECURSIVE_NP 即嵌套锁。PTHREAD_MUTEX_ERRORCHECK_NP 即纠错锁。PTHREAD_MUTEX_RECURSIVE 即嵌套锁。PTHREAD_MUTEX_ERRORCHECK 即... 阅45 转0 评0 公众公开 16-01-05 14:02 |
pthread_join(3)pthread_cond_wait(3)pthread_cond_timedwait(3)pthread_testcancel(3)sem_wait(3)sigwait(3)我们可以看到,在线程进入等待之前,pthread_cond_wait 先将线程取消类型设置为异步取消(__pthread_enable_asynccancel),当线程被唤醒时,线程取消类型被修改回延迟取消 __pthread_disable_asynccancel 。但是 pthread_cond_wait 为... 阅15 转0 评0 公众公开 16-01-05 14:01 |
线程终止方式:pthread_cleanup_push/pthread_cleanup_pop()在POSIX线程API中提供了一个pthread_cleanup_push()/ pthread_cleanup_pop()函数对用于自动释放资源—从pthread_cleanup_push()的调用点到pthread_cleanup_pop()之间的程序段中的终止动作(包括调用pthread_exit()和取消点终止)都将执行pthread_cleanup_push()所指定的清理函数。pth... 阅16 转0 评0 公众公开 16-01-05 13:59 |
pthread_cleanup_push()/pthread_cleanup_pop()的详解。在POSIX线程API中提供了一个pthread_cleanup_push()/pthread_cleanup_pop()函数对用于自动释放资源 --从pthread_cleanup_push()的调用点到pthread_cleanup_pop()之间的程序段中的终止动作(包括调用 pthread_exit()和取消点终止)都将执行pthread_cleanup_push()所指定的清理函数。pthrea... 阅34 转0 评0 公众公开 16-01-05 13:58 |
关于linux的tcp,socket内存溢出的问题。查出原本的 ip_conntrack_max 值,指令: cat /proc/sys/net/ipv4/ip_conntrack_max 写入理想的数值 (每一个 ip_conntrack buffer 会占用 292 Bytes) 指令: echo "数值" >/proc/sys/net/ipv4/ip_conntrack_max 例如: echo "163840" >/proc/sys/net/ipv4/ip_conntrack_... 阅1 转自hh3755 公众公开 15-10-23 17:30 |
Linux字符串操作函数 (1)strcat(连接两字符串)char *strcpy(char *dest,const char *src);char * strdup( const char *s);char * strncpy(char *dest,const char *src,size_t n);char *strpbrk(const char *s,const char *accept);char *strstr(const char *haystack,const char *needle);参数s指向欲分割的字符串,参数delim则为分割字符串... 阅126 转0 评0 公众公开 15-06-24 18:27 |
利用mmap /dev/mem 读写Linux内存。运用mmap将/dev/mem map出来,然后直接对其读写可以实现用户空间的内核操作。} unsigned long addr;printf("updated address: 0x%lx content 0x%x\n", addr, (unsigned int)content);首先用virt_addr = get_free_pages(GFP_KERNEL, order)分配内存,通过phy_addr = __pa(virt_addr)得到物... 阅59 转1 评0 公众公开 14-09-19 14:03 |
mmap共享内存共 享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。void* mmap ( void * addr , size_t len , int prot , int flags , int fd , off_t offset ) 参数fd为即将映射到进程空间的文件描述字,一般由open()返回,同时,fd可以指定为-1,此时须指定flags参数中的MAP_ANON,表明进 行的是匿名映射(不涉及具体的文件名,避免... 阅16 转0 评0 公众公开 14-09-18 19:21 |