- 博客(28)
- 资源 (14)
- 收藏
- 关注
转载 Makefile之写demo时的通用Makefile写法总结
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8956523,作者:gqb666 前面的一篇博文Makefile之大型工程项目子目录Makefile的一种通用写法介绍了大型项目子目录Makefile的一种通用写法,然而最近在写Linux网络方面的demo,一个目录下有几个文件,如果手工输命令
2015-01-21 17:08:43 439
转载 Makefile之写demo时的通用Makefile写法总结
原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8902133,作者:gqb666 管理Linux环境下的C/C++大型项目,如果有一个智能的Build System会起到事半功倍的效果,本文描述Linux环境下大型工程项目子目录Makefile的一种通用写法,使用该方法,当该子目录内的文件
2015-01-21 16:38:05 534
原创 通用makefile
DIR_INC = ./includeDIR_SRC = ./srcDIR_OBJ = ./objDIR_BIN = ./binSRC = $(wildcard ${DIR_SRC}/*.c) OBJ = $(patsubst %.c,${DIR_OBJ}/%.o,$(notdir ${SRC})) TARGET = uartBIN_TARGE
2015-01-20 17:43:36 492
转载 linux多线程学习(六)——信号量实现同步。
信号量的互斥同步都是通过PV原语来操作的,我们可以通过注册两个信号量,让它们在互斥的问题上互动,从而达到同步。通过下面实例就可以很容易理解: [cpp] view plaincopy#include #include #include #include #include #i
2015-01-20 17:15:19 476
转载 和大家分享一个Makefile的通用写法
这是我自己在网上找到的比较合适的.有兴趣的可以看一下,比较基础,适合新手.SRCS = $(wildcard *.c)OBJS = $(SRCS:.c = .o)CC = gccINCLUDES = -I/×××LIBS = -L/×××CCFLAGS = -g -Wall -O0my_app : $(OBJS)$(CC) $^ -o $@ $(INCLUDES) $(LIBS)
2015-01-20 16:35:48 838
转载 linux下 线程属性常用操作
在linux中,可以使用pthread_attr_t结构修改线程默认属性,并把这些属性与创建的线程联系起来。首先调用pthread_attr_init初始化pthread_attr_t结构,使pthread_attr_t结构所包含的内容就是操作系统实现支持的线程所有属性的默认值。然后,可以调用其他函数对想修改的个别属性进行修改。1.线程属性的初始化(若对属性操作,必先初始化),去初始化。
2015-01-20 16:16:18 483
转载 Linux系统下的多线程编程-条件变量&信号量
条件变量 使用互斥锁来实现线程间数据的共享和通信,互斥锁一个明显的缺点是它只有两种状态:锁定和非锁定。而条件变量通过允许线程阻塞和等待另一个线程发送信号的方法弥补了互斥锁的不足,它常和互斥锁一起使用。使用时,条件变量被用来阻塞一个线程,当条件不满足时,线程往往解开相应的互斥锁并等待条件发生变化。一旦其它的某个线程改变了条件变量,它将通知相应的条件变量唤醒一个或多个正被此条件变量阻塞的线程
2015-01-20 15:23:47 533
转载 linux中线程同步和互斥的区别
相交进程之间的关系主要有两种,同步与互斥。所谓互斥,是指散步在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它 们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行。所谓同步,是指散步在不同进程之间的若干程序片断,它们的运行必须严格按照规定的某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。 显然,同步是一种更为复杂的互斥,
2015-01-20 13:57:18 477
转载 Linux线程同步与互斥
● 互斥锁互斥锁用来保证同一时间内只有一个线程在执行某段代码(临界区)。多线程编程最容易出问题的地方,就是临界区的界定和访问控制。下面是一个生产者,消费者的简单例子。生产者、消费者公用一个缓冲区,这里假定缓冲区只能存放一条消息。#include #include #include #include static char buff[50];int have_ms
2015-01-20 11:53:30 469
转载 setsockopt函数解析
int setsockopt (SOCKET s, int level, int optname, const char FAR * optval, int optlen );The Windows Sockets setsocko
2015-01-20 11:17:56 677
转载 Linux下的动态链接库和静态链接库
Linux中有两类函数库,分别是静态库和动态库。静态函数库:这类库的名字一般是libxxx.a;利用静态函数库编译成的文件比较大,因为整个函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为他的缺点,因为如果静态函数库改变了,那么你的程序必须重新编译。动态
2015-01-20 11:08:36 570
转载 进程ipc和线程通信
一、互斥与同步1.互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。2.同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源.3.同步是一种更为复杂的互斥,
2015-01-20 10:25:12 516
转载 C语言基础-进制、原反补码、位运算
计算机中的进制#include int main(int argc, const char * argv[]){ int num = 13; //C语言默认是十进制,关于进制都不区分大小写的 //以0b或0B开头是二进制数 int b = 0b1101; printf("%d\n",b);//%d是按十进制输出 //以0开头的是八
2015-01-19 14:46:40 620
转载 二维数组和字符串与指针的关系
指针与多维数组多维数组地址的表示方法:二维数组s[3][4] 定义 int s[3][4]={ {0,2,4,6},{1,3,5,7},{9,10,11,12} }根据以上的一个二维数组的例子,就有如下表示:注意:S代表着二维数组的首地址,s+1代表第一行的首地址,而s[1]代表着第一行第一列的地址,虽然s+1和s[1]都是代表着同一个地址,但
2015-01-19 14:43:01 1154
转载 signed char 和unsigned char 区别
一:signed char 和unsigned char 的取值范围Char和int 一样,都有有符号和无符号之说。即unsigned char和signed char。1.C语言中我们用的char默认到底是有符号还是无符号的呢?对于不同的教材会有不同的答案,其实有无符号都是自己电脑的编译器决定的。(注意:我的电脑默认是有符号的,以下实例都是
2015-01-19 14:18:53 3640
原创 什么是补码
什么是补码,补码的运算。我们还是列举一个简单的例子吧!就用-6.我们经过以上的学习已经知道负数的符号位为1,所以: (1)-6的二进制: 1000 0000 0000 0110(称为原码,原码是计算机显示给我的) (2)对原码求反码:1111 1111 1111 1001(称为反码,保持符号位不变,将原码中的0变1,1变0) (3)对
2015-01-19 13:48:30 812
转载 int转字符串
#include /*Converts an integer to a string. */ char *my_itoa(int value,char *str,int radix) { int i,j,sign; char ps[256]; memset(ps,0,256); if((radix>36) || (radix sign = 0;
2015-01-16 17:53:44 657
转载 unsigned char和signed char型变量的区别,赋值后它在内存中的存储形式
在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别 首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,因此char能表示-128~127, unsigned char没有符号位,因此能表示0~255,这个好理解,8个bit,最多256种情
2015-01-16 16:07:35 1310
转载 GDB调试程序
用GDB调试程序GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能:
2015-01-16 16:06:50 633
转载 位运算
文章采摘自百度百科http://baike.baidu.com/view/379209.htm,有删减,将其pascal代码改为c语言代码。简介:程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。比如,and运算本来是一个逻辑运算符,但整数与整数之间也可以进行and运算。举个例子,6的二进制是110,11的二进制是1011,那
2015-01-16 16:05:44 637
原创 linux获取时间程序
#include int main(void){char *wday[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};time_t timep;struct tm *p;time(&timep);//p=gmtime(&timep);p = localtime(&timep);printf(" %d-%d-%
2015-01-16 15:04:08 438
转载 UART,串口信息的查看(linux)
每个UART控制器包含一个波特率发生器,发送器,接收器和控制单元,发送和接收器包括FIFO和数据移位器,首先数据被写到FIFO中,然后复制到发送移位器中准备发送,最后数据被发送数据管脚移位发出。数据接收过程是:首先从接收管脚上面的到数据,然后将数据从移位器中复制到FIFO 中。rs232串口通信接口:当通信距离较近时(9个脚针的定义:CDC数据载波检测,RXD接收数据,TX
2015-01-05 16:58:29 4719
转载 /sys/class/gpio 文件接口操作IO端口(s3c2440)
在嵌入式设备中对GPIO的操作是最基本的操作。一般的做法是写一个单独驱动程序,网上大多数的例子都是这样的。其实linux下面有一个通用的GPIO操作接口,那就是我要介绍的 “/sys/class/gpio” 方式。首先,看看系统中有没有“/sys/class/gpio”这个文件夹。如果没有请在编译内核的时候加入 Device Drivers —> GPIO Support —>
2015-01-05 16:57:02 581
转载 Linux中使用线程
我并不假定你会使用Linux的线程,所以在这里就简单的介绍一下。如果你之前有过多线程方面的编程经验,完全可以忽略本文的内容,因为它非常的初级。首先说明一下,在Linux编写多线程程序需要包含头文件pthread.h。也就是说你在任何采用多线程设计的程序中都会看到类似这样的代码:[cpp] view plaincopy#includ
2015-01-04 15:16:05 523
转载 Linux 线程同步的三种方法
线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点。linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。一、互斥锁(mutex)通过锁机制实现线程间的同步。初始化锁。在Linux下,线程的互斥量数据类型是pthread_mutex_t。在使用前,要对它进行初始化。静态分配:pthread_mutex_t mutex = PTHR
2015-01-04 15:08:43 423
转载 pthread_cond_wait()与pthread_cond_signal()
pthread_cond_wait()用法:ptread_mutex_lock(&mut);pthread_cond_wait(&cond, &mut);pthread_mutex_unlock(&mut);pthread_cond_signal(&cond);的用法和pthread_cond_wait是一样的。我们先来看看pthread_con
2015-01-04 11:34:23 793
转载 Linux内核驱动之GPIO子系统(一)GPIO的使用
一 概述 Linux内核中gpio是最简单,最常用的资源(和 interrupt ,dma,timer一样)驱动程序,应用程序都能够通过相应的接口使用gpio,gpio使用0~MAX_INT之间的整数标识,不能使用负数,gpio与硬件体系密切相关的,不过linux有一个框架处理gpio,能够使用统一的接口来操作gpio.在讲gpio核心(gpiolib.c)之前先来看看gpio是怎么使用
2015-01-04 11:30:12 742
SMx-master (2).zip
2019-11-07
smtest.rar
2019-10-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人