
学习笔记
embzheng
这个作者很懒,什么都没留下…
展开
-
windows 下编译 jrtplib-3.9.1 和 jthread-1.3.1
第一步,先下载三个必要的文件: 1.下载 jrtplib-3.9.1:http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jrtplib 2.下载 jthread-1.3.1:http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jthread原创 2012-06-18 15:55:23 · 3341 阅读 · 0 评论 -
source insight快捷键及使用技巧
source insight快捷键及使用技巧 退出程序 : Alt+F4 重画屏幕 : Ctrl+Alt+Space 完成语法 : Ctrl+E 复制一行转载 2013-02-27 14:08:58 · 336 阅读 · 0 评论 -
NAT 网络地址转换学习
网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。 实现方式 NAT的实现方式有三原创 2013-03-13 10:16:50 · 795 阅读 · 0 评论 -
gcc/g++ 编译
1. gcc/g++在执行编译工作的时候,总共需要4步 (1).预处理,生成.i的文件[预处理器cpp] (2).将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] (3).有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] (4).连接目标代码,生成可执行程序[链接器ld] [参数详解] -x language filename 设定文件所使转载 2013-03-04 11:12:51 · 651 阅读 · 0 评论 -
IPC通信:Posix共享内存2
IPC通信:Posix共享内存2 Posix共享内存区涉及两个步骤: 1、指定一个名字参数调用shm_open,以创建一个新的共享内存区对象或打开一个以存在的共享内存区对象。 2、调用mmap把这个共享内存区映射到调用进程的地址空间。传递给shm_open的名字参数随后由希望共享该内存区的任何其他进程使用。 相关函数: 1 shm_open()函数 2 功能:转载 2013-04-09 10:29:06 · 672 阅读 · 0 评论 -
IPC通信:Posix共享内存1
IPC通信:Posix共享内存1 共享内存区是最快的可用IPC形式。它允许多个不相关的进程去访问同一部分逻辑内存。如果需要在两个运行中的进程之间传输数据,共享内存将是一种效率极高的解决方案。一旦这样的内存区映射到共享它的进程的地址空间,这些进程间数据的传输就不再涉及内核。这样就可以减少系统调用时间,提高程序效率 共享内存是由IPC为一个进程创建的一个特殊的地址范围,它将转载 2013-04-09 10:30:15 · 643 阅读 · 0 评论 -
IPC通信:Posix信号灯
IPC通信:Posix信号灯 信号灯用来实现同步——用于多线程,多进程之间同步共享资源(临界资源)。信号灯分两种,一种是有名信号灯,一种是基于内存的信号灯。有名信号灯,是根据外部名字标识,通常指代文件系统中的某个文件。而基于内存的信号灯,它主要是把信号灯放入内存的,基于内存的信号灯,同步多线程时,可以放到该多线程所属进程空间里;如果是同步多进程,那就需要把信号灯放入到共享内存转载 2013-04-09 10:32:50 · 1386 阅读 · 0 评论 -
Linux中重定向及管道
Linux中重定向及管道 1重定向 1.1 重定向符号 > 输出重定向到一个文件或设备 覆盖原来的文件 >! 输出重定向到一个文件或设备 强制覆盖原来的文件 >> 输出重定向到一个文件或设备 追加原来的文件 1.2标准错误重定向符号 2> 将一个标准转载 2013-04-10 16:58:59 · 638 阅读 · 0 评论 -
共享内存
共享内存是系统出于多个进程之间通讯的考虑,而预留的的一块内存区。在/proc/sys/kernel/目录下,记录着共享内存的一些限制,如一个共享内存区的最大字节数shmmax,系统范围内最大共享内存区标识符数shmmni等,可以手工对其调整,但不推荐这样做。 一、应用 共享内存的使用,主要有以下几个API:ftok()、shmget()、shmat()、shmdt()及shmctl()。 1转载 2013-03-28 10:07:03 · 892 阅读 · 0 评论 -
tcpdump的使用
例:tcpdump host 172.16.29.40 and port 4600 -X -s 500 tcpdump采用命令行方式,它的命令格式为: tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ] [ -i 网络接口 ] [ -r 文件名] [ -s snaplen ] [ -T 类型 ]转载 2013-03-28 13:39:25 · 606 阅读 · 0 评论 -
Source Insight 常用设置和快捷键大全
随笔- 195 文章- 3 评论- 15 Source Insight 常用设置和快捷键大全 1.括号配对高亮: “在前括号左侧,后括号左侧” 双击鼠标左键,可以选定匹配括号和其中内容( 2.让{ 和 } 不缩进: Options -> Document Options -> Auto Indenting -> Auto Inde转载 2013-04-11 15:38:46 · 2235 阅读 · 0 评论 -
一些SQLite技巧
SQLite自增ID自段 使用方法为 INTEGER PRIMARY KEY AUTOINCREMENT 如: CREATE TABLE 21andy ( id INTEGER PRIMARY KEY AUTOINCREMENT, 21andy VARCHAR(100) NOT NULL, date DATE ); 注意是AUTOINCREMENT, 和MySQL的写法不一样转载 2013-03-29 21:49:07 · 1095 阅读 · 0 评论 -
makefile 学习
最近在学习Linux下的C编程,买了一本叫《Linux环境下的C编程指南》读到makefile就越看越迷糊,可能是我的理解能不行。 于是google到了以下这篇文章。通俗易懂。然后把它贴出来,方便学习。 后记,看完发现这篇文章和《Linux环境下的C编程指南》的makefile一章所讲述的惊人的相似,只是这篇文章从一个实例切入,在有些地方比较好理解转载 2013-02-06 10:49:08 · 473 阅读 · 0 评论 -
__attribute__ 学习笔记
1. __attribute__ GNU C的一大特色(却不被初学者所知)就是__attribute__机制。 __attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute) __attribute__前后都有两个下划线,并且后面会紧跟一对原括弧,括弧里面是相应的__attrib转载 2013-02-05 13:44:34 · 363 阅读 · 0 评论 -
H264 RTP打包类、解包类
H264 RTP打包类、解包类,实现了单个NAL单元包和FU_A分片单元包。对于丢包处理,采用简单的策略:丢弃随后的所有数据包,直到收到关键帧。测试效果还不错,代码贴上来,若能为同道中人借鉴一二,足矣。两个类的使用说明如下(省略了错误处理过程): DWORD H264SSRC ; CH264_RTP_PACK pack ( H264SSRC ) ; BYTE *pVideoData转载 2012-07-09 17:12:23 · 2413 阅读 · 0 评论 -
ubuntu下编译 jrtplib-3.9.1 和 jthread - 1.3.1
一、首先,先下载三个必要的文件: 1.下载 jrtplib-3.9.1:http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jrtplib 2.下载 jthread-1.3.1:http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jthread 3.由于原创 2012-05-28 14:14:51 · 2723 阅读 · 1 评论 -
jrtplib 3.9.1 交叉编译 linux arm
下面是具体步骤: 1.修改CMakeList.txt,以生成交叉编译的makefile。 打开jthread1.3.1目录中的CMakeList.txt,在开头加入下面几句话 #告知当前使用的是交叉编译方式 SET(CMAKE_SYSTEM_NAME Linux) #设置c编译器 SET(CMAKE_C_COMPILER "arm-none-linux-gn原创 2012-07-06 17:12:09 · 3078 阅读 · 0 评论 -
c语言extern详解
(1)变量 extern int a;//声明一个全局变量a int a; //定义一个全局变量a extern int a =0 ;//定义一个全局变量a 并给初值。 int a =0;//定义一个全局变量a,并给初值, 定义只能出现在一处。不管是int a;还是extern int a=0;还是int a=0;都只能出现一次,而那个extern int原创 2012-08-08 14:58:20 · 869 阅读 · 0 评论 -
C语音static详解
一、c程序存储空间布局 (1) 栈 由编译器自动分配释放管理。局部变量及每次函数调用时返回地址、以及调用者的环境信息(例如某些机器寄存器)都存放在栈中。新被调用的函数在栈上为其自动和临时变量分配存储空间。通过以这种方式使用栈,C函数可以递归调用。递归函数每次调用自身时,就使用一个新的栈帧,因此一个函数调用实例中的变量集不会影响另一个函数调用实例中的变量。 a.局部变量转载 2012-08-08 14:43:21 · 1087 阅读 · 0 评论 -
c语言详解sizeof
一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。 它并不是函数。 sizeof操作符以字节形式给出了其操作数的存储大小。 操作数可以是一个表达式或括在括号内的类型名。 操作数的存储大小由操作数的类型决定。 二、sizeof的使用方法 1、用于数据类型转载 2012-08-15 13:46:26 · 1276 阅读 · 0 评论 -
c语言typedef 与 #define
typedef作为类型定义关键字,用于在原有数据类型(包括基本类型、构造类型和指针等)的基础上,由用户自定义新的类型名称。在编程中使用typedef的好处,除了为变量取一个简单易记且意义明确的新名称之外,还可以简化一些比较复杂的类型声明。比如: typedef int INT32; 将INT32定义为与int具有相同意义的名字,这样类型INT32就可用于类型声明和原创 2012-10-09 16:13:10 · 792 阅读 · 0 评论 -
大小端 网络字节序
定义如下: a) Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。 b) Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。 c) 网络字节序:TCP/IP各层协议将字节序定义为Big-Endian,因此TCP/IP协议中使用的字节序通常称之为网络字节序。 我们以0x12345678为例:原创 2012-09-26 14:17:22 · 562 阅读 · 0 评论 -
ubuntu 11.10 环境变量
今天学习了下ubuntu的环境变量设置。 主要涉及到以下五个文件: (一) /etc/environment 系统环境变量,系统启动时加载,对任意用户有效 (二) /etc/profile 全局用户环境变量,系统启动时加载,对任意用户有效 (三) /etc/bash.bashrc 为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读原创 2012-10-30 14:46:22 · 644 阅读 · 0 评论 -
select函数总结
select函数总结 阻塞方式block,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回。使用Select就可以完成非阻塞non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不同来反映函数的执行情况,如果事件发生则与阻塞方式相同,若事件没有发生则返回一个代码来告知事件未发转载 2013-01-31 15:40:49 · 462 阅读 · 0 评论 -
sizeof() 用法
sizeof()用法汇总 sizeof()功能:计算数据空间的字节数 1.与strlen()比较 strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素。 而sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示。 2.指针与静态数组的sizeof操作 指针均可看为变量类型转载 2013-01-18 15:21:18 · 384 阅读 · 0 评论 -
事务和锁
事务 事务定义了一组SQL命令的边界,这组命令或者作为一个整体被全部执行,或者都不执行。事务的典型实例是转帐。 事务的范围 事务由3个命令控制:BEGIN、COMMIT和ROLLBACK。 BEGIN开始一个事务,之后的所有操作都可以取消。 COMMIT使BEGIN后的所有命令得到确认; 而ROLLBACK还原BEGIN之后的所有操作。 如: sqlite> BEGIN;转载 2013-04-18 16:05:24 · 2652 阅读 · 0 评论