
Linux c
阿波121
这个作者很懒,什么都没留下…
展开
-
C语言当中几个获取时间和处理的函数
#include int gettimeofday(struct timeval*tv, struct timezone *tz);其参数tv是保存获取时间结果的结构体,参数tz用于保存时区结果原创 2014-05-06 14:18:49 · 556 阅读 · 0 评论 -
Linux下C语言的多线程编程学习
Linux下C语言的多线程编程学习一、首先,简单了解一下多线程,从耳熟能详的fork()、pthread中理点头绪出来,然后自己写一个简单的来增加一下信心。1、Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连 接时需要使用库libpthread.a。因此,后面的编译必须在选项中加入 -lpthread转载 2014-05-30 17:17:46 · 574 阅读 · 0 评论 -
Linux 信号量
锁有一个很明显的缺点,那就是它只有两种状态:锁定与不锁定。信号量本质上是一个非负数的整数计数器,它也被用来控制对公共资源的访问。当公共资源增加的时候,调用信号量增加函数sem_post()对其进行增加,当公共资源减少的时候,调用函数sem_wait()来减少信号量。其实,我们是可以把锁当作一个0-1信号量的。它们是在/usr/include/semaphore.h中进行定义的,信号原创 2014-06-12 14:28:00 · 488 阅读 · 0 评论 -
多线程的那点儿事(基础篇)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 多线程编程是现代软件技术中很重要的一个环节。要弄懂多线程,这就要牵涉到多进程?当然,要了解到多进程,就要涉及到操作系统。不过大家也不要紧张,听我慢慢道来。这其中的环节其实并不复杂。 (1)单CPU下的多线程 在没有转载 2014-05-28 11:36:14 · 394 阅读 · 0 评论 -
Linux c 多线程编程
进程是程序执行时的一个实例,即它是程序已经执行到何种程度的数据结构的汇集。从内核的观点看,进程的目的就是担当分配系统资源(CPU时间、内存等)的基本单位。线程是进程的一个执行流,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。一个进程由几个线程组成(拥有很多相对独立的执行流的用户程序共享应用程序的大部分数据结构),线程与同属一个进程的其他的线程共享进程所拥有的全部资源。原创 2014-06-11 13:58:10 · 509 阅读 · 0 评论 -
UDP用打洞技术穿透NAT的原理与实现
首先先介绍一些基本概念: NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本的NAT和NAPT(Network Address/Port Translator)。转载 2014-06-03 14:59:32 · 639 阅读 · 0 评论 -
Udp编程
一.UDP编程流程(1)服务器:创建套接字(socket)绑定IP地址和端口(bind)收发数据(sendto/recvfrom)关闭连接(closesocket)(2)客户端:创建套接字(socket)收发数据(sendto/recvfrom)关闭连接(closesocket)二.用于收发的函数:原创 2014-04-25 16:19:03 · 506 阅读 · 0 评论 -
Glibc中的字符测试函数
Glibc中的字符测试函数 在Glibc库中有一类很常见的函数,那就是字符测试函数。 常见的字符测试函数有: 函数名称函数原型 功能说明 isalnum int isalnum(int c) 检查参数C是否为英文字符或阿拉伯数字 isalpha int isalpha(int c) 检查参数原创 2014-04-23 14:32:16 · 646 阅读 · 0 评论 -
Makefile中预定义变量介绍
在Linux开发中,经常会出现Makefile中出现的变量。变量是在Makefile中定义的名字,用来代替一个文本字符串,该文本字符串称为该变量的值。在一些具体情况下,这些值代替目标、依赖、命令及Makefile文件中的其他部分。Makefile中常见的预定义变量及默认值如下: 变量名 含义 默认值 AR 库文件维护程序的名称 ar AS 汇编程序的名称 as CC C原创 2014-04-23 14:36:22 · 709 阅读 · 0 评论 -
Linux C输入输出函数
格式化输入输出函数(14)这些函数都要包含头文件stdio.h, 以v开始的还要包含头文件stdarg.h1. 输出printf: 格式化输出数据函数定义: int printf(const char *format, ...);函数说明: printf()会根据参数format字符串来转换并格式化数据, 然后将结果写出到标准输出设备, 直到出现字符串结束符('\0')原创 2014-04-23 14:26:53 · 1401 阅读 · 0 评论 -
UDP打洞原理
本文博客链接:http://blog.youkuaiyun.com/jdh99,作者:jdh,转载请注明.许多P2P软件比如SKYPE,QQ,电驴之类需要不同内网的两台机子进行通信,而路由器的NAT机制决定了内网访问外网容易,而外网访问内网困难,那如何才能做到这一点呢?有办法------打洞!具体实现方法需要一台服务器,现在假设两台内网PC,A和B想用端口40000通信,网关分转载 2014-06-03 11:35:51 · 550 阅读 · 0 评论