
linux c 点滴积累
MJ牧笛
热爱生活,技术改变生活
展开
-
linux——posix标准下的信号量
#include sem_t *sem_open(const char *name, int oflag); sem_t *sem_open(const char *name, int oflag, mode_t mode, unsigned int value); sem_open() creates a原创 2012-07-11 22:28:37 · 545 阅读 · 0 评论 -
linux-内存映射mmap
内存映射就是把非内存的文件映射到内存中,即在内存中创建一个外存的映象,内存中映射区域的改动会反映到外存文件中。可以把外存文件全部或者部分映射到内存中,从而实现了内存对对外存文件的操作!内存映射可以加快对I/O的操作速度,可以使用指针操作文件,但是只能对在文件内可以定位的普通文件可以映射,像管道,套接字,是不能够进行内存映射的。内存映射可以实现内存数据共享,并把数据保存到外存中去。原创 2012-07-12 22:19:44 · 391 阅读 · 0 评论 -
linux_c pthread
#include int pthread_create(pthread_t *restrict thread, const pthread_attr_t *restrict attr, void *(*start_routine)(void*), void *restrict arg);The pthread_create()原创 2012-07-14 00:16:43 · 1953 阅读 · 1 评论 -
linux 下串口通信
以前跟着做过VxWorks的开发,主要通信方式是串口,因为底层BSP包已经做好了,串口通信非常简单。后来接触Linux,在一块OK6410上跑Linux串口通信,才发现原来天真的以为甚是简单的串口变得如此的不简单。#include 1、串口的操作1.1打开:fd = open("/dev/ttySAC1", O_RDWR | O_NOCTTY | O_NDELAY);转载 2012-08-17 22:19:42 · 12096 阅读 · 2 评论 -
GCC-C语言编辑器
1.通过选项定义宏gcc -D'TESTMACRO=“hello world”' main.c -o main.exe 可以在编译的时候定义宏。2.获取系统头文件路径gcc -v main.c 3.生成依赖关系gcc -M main.c (包括系统头文件) / gcc -MM main.c (不包括系统头文件)原创 2012-11-08 22:46:51 · 1822 阅读 · 1 评论 -
linux 内存管理 x86
x86的地址:逻辑地址(机器指令中,段,偏移。程序中的符号生成的地址):线性地址(仅存在于包含内存管理单元,并且仅存在于cpu内部,起到过程映射)=虚拟地址,物理地址:线性地址经过页表查找后得到物理地址,分页机制没有启用,则线性地址等同于物理地址。目标文件反汇编,是分段管理,所以会出现相同的地址可执行文件:统一编址选择器(CS):实模式,段寄存器存储的真实段地址保护模式原创 2012-12-18 12:42:14 · 317 阅读 · 0 评论