
学习笔记
jeffrey0000
这个作者很懒,什么都没留下…
展开
-
Linux下创建shell命令集合——你意想不到的软连接
1、先来测试下面的代码//test.c#includeint main(int argc, char *argv[]){ printf("%s\r\n", argv[0]); if ((!strcmp("add", argv[0])) || (!strcmp("./add", argv[0]))) { printf("To do add handle\r\n"); } els原创 2015-11-23 14:17:10 · 2382 阅读 · 0 评论 -
SIP协议详解&eXosip源码库用法分析
1、概述1.1 SIP概念 会话初始协议SIP(Session Initiation Protocol)是一个应用层的控制协议,可以建立、修改和结束多媒体的会话。它是由IETF提出并主持研究的一个在IP网络上进行多媒体通信的应用层控制协议,它被用来创建、修改、和终结一个或多个参加者参加的会话进程。这些会话包括Internet多媒体会议、Internet电话、远程教育以及远程医疗等原创 2015-12-15 11:43:05 · 13286 阅读 · 0 评论 -
C语言常见字符串操作函数
strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串strncmp(p, p1, n) 比较指定长度字符串 str原创 2015-11-19 11:24:08 · 887 阅读 · 0 评论 -
C语言获取时间字符串
有时候用时间命名文件之类的可以用得到,记录一下#include #include #include #include #include int main(){ char szTimeStr[32] = {0}; time_t iNowTime = 0; struct tm *pstNowTransfer = NULL; iNowTime = time(原创 2015-11-18 14:26:50 · 1653 阅读 · 0 评论 -
GB2312、UTF-8等编码转换函数iconv()使用方法
用于GB2312、UTF-8等字符编码的转换,一次转换需要调如下三个函数:(1) iconv_t iconv_open(const char *tocode, const char *fromcode);此函数说明将要进行哪两种编码的转换,tocode是目标编码,fromcode是原编码,该函数返回一个转换句柄,供以下两个函数使用。(2) size_t iconv(iconv_t cd原创 2015-11-18 14:37:48 · 1596 阅读 · 0 评论 -
GB2312和UTF-8
GB2312简介 GB2312编码范围:A1A1-FEFE,其中汉字编码范围:B0A1-F7FE。 GB2312编码是第一个汉字编码国家标准,由中国国家标准总局1980年发布,1981年5月1日开始使用。GB2312编码共收录汉字6763个,其中一级汉字3755个,二级汉字3008个。同时,GB2312编码收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄原创 2015-09-12 13:44:37 · 85185 阅读 · 0 评论 -
C标准预定义宏,调试时加打印很有用
#includeint main(int argc, char *argv[]){ printf("File:[%s]\r\n", __FILE__); printf("Function:[%s]\r\n", __FUNCTION__); printf("LineNum:[%d]\r\n", __LINE__); printf("Data:[%s]\r原创 2015-07-22 20:11:37 · 1316 阅读 · 0 评论 -
HTTP的连接
可以用.connect()连接,也可以通过.getOutputStream()或者.getInputStream()隐含连接(虽然API上没有说明)。通过实验,不用.connect(),把connection.setDoOutput(true)等语句放在.getOutputStream()或者.getInputStream()之后会报错,说已经连接。原创 2013-09-06 14:00:14 · 734 阅读 · 0 评论 -
Android开发HTTP头部解释
HTTP 头部解释1. Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type。 2. Accept-Charset: 浏览器申明自己接收的字符集 Accept-Encoding: 浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法 (gzip,deflat原创 2013-09-06 14:33:12 · 1029 阅读 · 0 评论 -
数据结构的有关概念
一、数据的有关概念1、数据表示信息的且能被计算机存储、处理的各种物理符号统称为数据【Data】。2、数据项具有独立逻辑含义且不能再分解的数据称为数据项【Data Item】。3、数据元素数据元素【Data Element】是相关数据项的集合。4、数据对象具有相同性质的数据元素构成的集合称为数据对象【Data Object】。***相关数据项的集合构成一个原创 2013-09-25 10:40:14 · 1072 阅读 · 0 评论 -
Makefile中的$@, $^, $< , $?, $%, $+, $*
记性不好,多写博客 $@ 表示目标文件$^ 表示所有的依赖文件$$? 表示比目标还要新的依赖文件列表原创 2013-10-08 10:39:33 · 16434 阅读 · 0 评论 -
C typedef的用法 结构体指针的用法
头文件:#include#ifndef _MAIN_H_#define _MAIN_H_typedef struct{ int port; double speed; double time;}*Handle;extern double getspeed(Handle hand);#endifgetspeed函数#include"原创 2013-10-09 16:50:26 · 1901 阅读 · 0 评论 -
pthread_create()创建线程时传入多个参数
由于接口只定义了一个入参void *argint pthread_create(pthread_t *tidp,const pthread_attr_t *attr, (void*)(*start_rtn)(void*),void *arg);所以,如果想传参数,需要封装结构体。int PTHREAD_CTREATE(pthread_t *tidp,const pthread_at原创 2015-07-09 18:45:47 · 4554 阅读 · 0 评论 -
Makefile中赋值符号=, :=, ?=, +=的区别
1、举例调试ifdef DEFINE_VAR VAR = 1endififeq ($(OPT), define) VAR ?= 2endififeq ($(OPT), add) VAR += 3endififeq ($(OPT), recover) VAR := 4endifall: @echo " VAR = $(VAR)"原创 2015-08-04 10:16:45 · 701 阅读 · 0 评论 -
Linux本地socket通信--AF_UNIX
我们熟知的sockek通信一般都是基于IP的,最近见到了本机客户端与服务端通信的方法(虽然lo地址也可以本机通信),写了一些程序做实验,主要实现客户端和服务端套接字的连接、各自创建收发线程进行通信。由于功能没有优化,纠结了很久才贴上来,重点是AF_UNIX的功能已经实现了。其实AF_UNIX和AF_INET交互的流程是一样的,只不过创建套接字的宏不一样,以及数据结构的填充不一样。这种机制对Linu原创 2015-12-05 11:14:31 · 2499 阅读 · 0 评论