C/C++编程
leibniz_zsu
这个作者很懒,什么都没留下…
展开
-
怎么使用jrtplib传输一个视频
可以抽象出几个独立的模块 1.网络传输 2.视频 2.1 视频源采集 2.1 视频压缩、还原 2.2 视频回放 如果要源代码,估计是不可能了,每个环节都是蛮大的工程, 不过我可以告诉你每个模块需要注意的环节 1.网络传输 1.1)TCP不太适合做点对点传输,所以必须将协议层定位在UDP上 1.2) UDP互联网上传输是不可靠的,转载 2009-11-02 22:42:00 · 3046 阅读 · 0 评论 -
Unix系列shell程序编写(中)
3>在Shell中使用数据变量 用户可以在Shell中使用数据变量,例如ba.sh程序: cd/usr/icewalk ls|cpio -o > /dev/fd0 该程序中要备份的目录为一常量,即该程序只能用来备份一个目录。若在该程序中使用变量,则会使其更通用: workdir=$1 cd $workdir ls * |cpio -o > /dev/转载 2007-09-29 12:52:00 · 690 阅读 · 0 评论 -
Linux下C语言编程--基础知识
前言: 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将会学到以下内容: 源程序编译 Makefile的编写 程序库的链接 程序的调试 头文件和系统求助 -------------------------------------------------------------------------------- 1.源程序的编译 在Linux下面,如果要编译一个C转载 2007-09-29 12:49:00 · 906 阅读 · 0 评论 -
[转载]COFF格式续篇—Lib文件的结构
上一篇文章介绍了COFF目标文件的结构。如果你试着做一个应用程序的连接器(Linker),就会发现,仅仅有目标文件是不够的。我们在连接程序时,不仅仅要用到目标文件,库文件也是必不可少的。 库文件是怎么样的结构呢? 其实,库文件的结构也很简单。它就是“一堆”目标文件的集合。把目标文件做成库以后,我们在使用目标文件中所实现的功能时,连接程序会自动在库文件里查找相应的目标文件,并使用转载 2007-06-14 11:28:00 · 696 阅读 · 0 评论 -
[转载]COFF文件的格式
COFF – 通用对象文件格式(Common Object File Format),是一种很流行的对象文件格式(注意:这里不说它是“目标”文件,是为了和编译器产生的目标文件(*.o/*.obj)相区别,因为这种格式不只用于目标文件,库文件、可执行文件也经常是这种格式)。大家可能会经常使用VC吧?它所产生的目标文件(*.obj)就是这种格式。其它的编译器,如GCC(GNU Compiler转载 2007-06-14 11:24:00 · 976 阅读 · 0 评论 -
Intel平台下linux中 ELF文件动态链接的加载、解析及实例分析(二): 函数解析与卸载
Intel平台下linux中 ELF文件动态链接的加载、解析及实例分析(二): 函数解析与卸载转载自:IBM developerWorks 中国网站 王瑞川([email protected])从事 Linux 开发工作2003 年 12 月相信读者已经看过了Intel平台下Linux中 ELF文件动态链接的加载、解析及实例分析(一): 加载的内容了,了解了ELF文件被加载的转载 2007-06-13 16:06:00 · 960 阅读 · 0 评论 -
[转载]编译原理学习导论
大学课程为什么要开设编译原理呢?这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的必修课程,同时也成为了研究生入学考试的必考内容。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专转载 2007-06-15 13:08:00 · 843 阅读 · 0 评论 -
[转载]UNIX/LINUX 平台可执行文件格式分析
转载 2007-06-14 14:30:00 · 654 阅读 · 0 评论 -
UNIX/LINUX 平台可执行文件格式分析
原创 2007-06-14 14:30:00 · 663 阅读 · 0 评论 -
[转载]gdb使用初步
首先,你的程序在经由gcc/g++编译的时候,要带上-g选项。比如:g++ test.cpp -g -o test然后,执行:gdb test进入gdb界面之后,输入start并回车,则调试开始。(如果被调试的程序需要参数,则在start后面带参数)以下是常用命令:help: display help. you can use help data, help running for转载 2007-09-10 09:17:00 · 574 阅读 · 0 评论 -
Linux下C语言编程--文件的操作
前言: 我们在这一节将要讨论linux下文件操作的各个函数. 1.文件的创建和读写 2.文件的各个属性 3.目录文件的操作 4.管道文件 -------------------------------------------------------------------------------- 1。文件的创建和读写 我假设你已经知道了标准级的文件操作的各个函数(fopen,fread,fwri原创 2007-09-29 11:52:00 · 644 阅读 · 0 评论 -
Linux下线程的创建
前言:Linux下线程的创建 介绍在Linux下线程的创建和基本的使用. Linux下的线程是一个非常复杂的问题,由于我对线程的学习不时很好,我在这里只是简单的介绍线程的创建和基本的使用,关于线程的高级使用(如线程的属 性,线程的互斥,线程的同步等等问题)可以参考我后面给出的资料. 现在关于线程的资料在网络上可以找到许多英文资料,后面我罗列了许多链接,对线程的高级属性感兴趣的话可以参考一下. 等到转载 2007-09-29 12:45:00 · 646 阅读 · 0 评论 -
Linux的时间表示和计算函数
这一章我们学习Linux的时间表示和计算函数 1.时间的表示 2.时间的测量 3.计时器的使用 -------------------------------------------------------------------------------- 1。时间表示 在程序当中,我们经常要输出系统当前的时间,比如我们使用date命令的输出结果.这个时候我们可以使用下面两个函数 #include转载 2007-09-29 12:46:00 · 1075 阅读 · 0 评论 -
jrtplib 分包处理
jrtplib 分包处理 收藏 document.body.oncopy = function() { if (window.clipboardData) { setTimeout(function() { var转载 2009-11-02 22:35:00 · 2164 阅读 · 0 评论 -
mmap详解
http://hi.baidu.com/yoursguang/blog/item/81f77f387720022296ddd814.htmlmmap函数是unix/linux下的系统调用,来看《Unix Netword programming》卷二12.2节有详细介绍。mmap系统调用并不是完全为了用于共享内存而设计的。它本身提供了不同于一般对普通文件的访问方式,进程可以像读写内存一转载 2009-10-29 08:45:00 · 851 阅读 · 0 评论 -
Framebuffer编程How-to
注:本文是Console programming HOWTO,Wiebe Zoon ;[email protected]的一部分,原文为英文版,本文由highbar翻译。如转载,请注明原作者及译者。 7. framebuffer7.1. framebuffer设备介绍 这是一个关于如何编程的文档,因此,请在你编译或执行例子转载 2009-10-27 21:47:00 · 653 阅读 · 0 评论 -
Linux下的信号处理函数
前言:这一章我们讨论一下Linux下的信号处理函数. Linux下的信号处理函数: 1.信号的产生 2.信号的处理 3.其它信号函数 -------------------------------------------------------------------------------- 一个实例 1。信号的产生 Linux下的信号可以类比于DOS下的INT或者是Windows下的事件.在有原创 2007-09-29 12:46:00 · 703 阅读 · 0 评论 -
Linux下的进程通信(IPC)
前言:Linux下的进程通信(IPC) Linux下的进程通信(IPC) 1.POSIX无名信号量 2.System V信号量 3.System V消息队列 4.System V共享内存 -------------------------------------------------------------------------------- 1。POSIX无名信号量 如果你学习过操作系统,那转载 2007-09-29 12:44:00 · 554 阅读 · 0 评论 -
Unix系列shell程序编写(上)
Shell是什么? 任何发明都具有供用户使用的界面。UNIX供用户使用的界面就是Shell(DOS的command熟悉吧,但UNIX的要强大的多)。 Shell为用户提供了输入命令和参数并可得到命令执行结果的环境。 为了不同的需要,UNIX提供了不同的Shell。现在的UNIX大部分都支持BourneShell,以下教程就以BourneShell(Bsh)为例,一步步的领略UNIX She转载 2007-09-29 12:51:00 · 700 阅读 · 0 评论 -
Linux下C语言编程--进程的创建
前言: 这篇文章是用来介绍在Linux下和进程相关的各个概念.我们将会学到: 1.进程的概念 2.进程的身份 3.进程的创建 4.守护进程的创建 -------------------------------------------------------------------------------- 1。进程的概念 Linux操作系统是面向多用户的.在同一时间可以有许多用户向操作系统发出各转载 2007-09-29 12:48:00 · 923 阅读 · 0 评论 -
[转贴]GCC笔记
The History of GCC 1984年,Richard Stallman发起了自由软件运动,GNU (Gnus Not Unix)项目应运而生,3年后,最初版的GCC横空出世,成为第一款可移植、可优化、支持ANSI C的开源C编译器。GCC最初的全名是GNU C Compiler,之后,随着GCC支持的语言越来越多,它的名称变成了GNU Compiler Collection。这里介绍转载 2007-09-29 13:30:00 · 801 阅读 · 0 评论 -
Unix系列shell程序编写(下)
Until语句 While语句中,只要某条件为真,则重复执行循环代码,until语句正好同while相反,该语句使循环代码重复执行,直到遇到某一条件为真才停止。 Until语句的结构如下: until command do command command … … done 可以用until语句替换上面备份程序的while语句,完成同样的功能: until [转载 2007-09-29 12:53:00 · 637 阅读 · 0 评论 -
[转载] GDB使用
GDB概述————GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的程序,可以按照你的自定义的要求随原创 2007-09-10 11:48:00 · 762 阅读 · 0 评论 -
ANSI C的宽字节和汉字编码
以前没用过c语言读写unicode文件,想写一个这样的实验程序,结果程序编译还是正常的,但一执行就出错。于是写了一个简单的测试程序,编译就不通,我用的是MinGW Developer Studio,程序如下,请问是什么问题,谢谢#include #include #include #include #include int main(int argc, char *argv[]){ wc转载 2007-06-04 19:48:00 · 2268 阅读 · 0 评论 -
[转载]被误解的C++
传统上认为,C++相对于目前一些新潮的语言,如Java、C#,优势在于程序的运行性能。这种观念并不完全。如果一个人深信这一点,那么说明他并没有充分了解和理解C++和那个某某语言。同时,持有这种观念的人,通常也是受到了某种误导(罪魁祸首当然就是那些财大气粗的公司)。对于这些公司而言,他们隐藏了C++同某某语言间的核心差别,而把现在多数程序员不太关心的差别,也就是性能,加以强化。因为随着cpu性能的快转载 2007-06-05 09:16:00 · 778 阅读 · 0 评论 -
typedef的两个陷阱
陷阱一:记住,typedef是定义了一种类型的新别名,不同于宏,它不是简单的字符串替换。比如:先定义:typedef char* PSTR;然后:int mystrcmp(const PSTR, const PSTR);const PSTR实际上相当于const char*吗?不是的,它实际上相当于char* const。原因在于const给予了整个指针本身以常量性,也就是形成了常量指针cha转载 2007-05-12 18:49:00 · 604 阅读 · 0 评论 -
C++ 中重载 + 操作符的正确方法
用户定义的类型,如:字符串,日期,复数,联合体以及文件常常重载二元 + 操作符以实现对象的连接,附加或合并机制。但是要正确实现 + 操作符会给设计,实现和性能带来一定的挑战。本文将概要性地介绍如何选择正确的策略来为用户定义类型重载这个操作符。考虑如下的表达式:int x=4+2; 内建的 + 操作符有两个类型相同的操作数,相加并返回右值 6,然后被赋值给 x。我们可以断定内建的 + 是转载 2007-05-12 11:31:00 · 571 阅读 · 0 评论 -
C++ convert int to string
第一种方法:int i=9;char num[20];itoa(i,num,10);10 is radix第二种方法:include string num;int i=9;ostringstream ostr;ostrnum = ostr.str();1. int sprintf( char *buffer, const char *format [, argument] ... );转载 2007-05-12 10:41:00 · 1826 阅读 · 0 评论 -
C++种static关键字的用途
一、在面向过程设计中的static关键字 1、静态全局变量 定义:在全局变量前,加上关键字 static 该变量就被定义成为了一个静态全局变量。 特点: A、该变量在全局数据区分配内存。 B、初始化:如果不显式初始化,那么将被隐式初始化为0。 C、访变量只在本源文件可见,严格的讲应该为定义之处开始到本文件结束。 例(摘于C++程序设计教程---钱能主编P103):转载 2007-05-12 10:39:00 · 640 阅读 · 0 评论 -
sizeof运算符详解
1、 sizeof应用在结构上的情况请看下面的结构:struct MyStruct{double dda1;char dda;int type};对结构MyStruct采用sizeof会出现什么结果呢?sizeof(MyStruct)为多少呢?也许你会这样求:sizeof(MyStruct)=sizeof(double)+sizeof(char)+sizeof(int)=13但是当在VC中测试上面转载 2007-05-12 10:35:00 · 548 阅读 · 0 评论 -
C/C++中的日期和时间
1.概念在C/C++中,对字符串的操作有很多值得注意的问题,同样,C/C++对时间的操作也有许多值得大家注意的地方。最近,在技术群中有很多网友也多次问到过C++语言中对时间的操作、获取和显示等等的问题。下面,在这篇文章中,笔者将主要介绍在C/C++中时间和日期的使用方法.通过学习许多C/C++库,你可以有很多操作、使用时间的方法。但在这之前你需要了解一些“时间”和“日期”的概念,主要有以下转载 2007-05-12 10:32:00 · 585 阅读 · 0 评论 -
操作符重载的问题
error C2803: operator + must have at least one formal parameter of class type 运算符重载的时候是对参数的类型有限制的, 运算符重载的语法: 返回类型 operator 运算符号(参数说明); c++中规定,原创 2007-05-11 22:52:00 · 1412 阅读 · 0 评论 -
[转载]C语言的异常机制
C语言中,标准库函数setjmp和longjmp形成了结构化异常工具的基础。简单的说即setjmp实例化异常处理程序,而longjmp产生异常。举个例子如下:/* -------------------------------------------------------------------------** File : cexcept.c原创 2007-08-10 15:33:00 · 840 阅读 · 0 评论 -
[转载]atoi,atol,strtod,strtol,strtoul实现类型转换
atoi,atol,strtod,strtol,strtoul实现类型转换 - [] - [VC ]2006-02-13atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 #include 定义函数 double atof(const char *nptr); 函数说明 atof()会扫描参数nptr字符串,跳原创 2007-07-20 09:18:00 · 1078 阅读 · 0 评论 -
引用与类型转换的区别
1。int main(){ int ival = 3; cout cout cout float fval = 1.0; cout cout return 0;}34.2039e-045***********11065353216ival,强制转换成float,那么内存中存的是浮点数3.0的补码 强制转换成float&,则是原创 2007-05-12 19:30:00 · 620 阅读 · 0 评论 -
STL实践指南(二)
怎样在一个map中使用类? TYPEDEF ANSI / ISO字符串 游标(Iterator) Set和Map中的排序 STL 的烦恼之二——错误信息 算法(Algorithms) Allocator(分配器) Embed Templates(嵌入式模版)和Derive Templates(基模板) 模版中的模版 总结 怎样在一个map中使用类? 返回目录Ma转载 2007-05-16 00:28:00 · 716 阅读 · 0 评论 -
STLport 静态链接问题
如果我用链接动态MFC库,由程序自动链接stlport_vc645.dll, 如果我用链接静态MFC库,程序则不链接stlport_vc645.dll(内部链接了静态LIB库:stlport_vc6_static.lib) 我在setting->link->ibject/library modules里加上了:stlport_vc6_static.lib原创 2007-05-16 23:53:00 · 2469 阅读 · 0 评论 -
如何在console输入密码的时候不在屏幕上显示?
利用C库的控制函数getch(),可以实现在console上输入密码时,不在屏幕上显示已输入的密码或用*号代替已输入的字符,就像linux那样。#include#includeusing namespace std;int main(){ char ch; while((ch=getch())!=0x0d) cout return(0);} #include main(){char ch;原创 2007-05-26 20:00:00 · 1997 阅读 · 0 评论 -
IEEE制定的浮点数格式
IEEE制定的浮点数格式 鉴于有人问到在C语言中float和double型态的储存格式的问题,所以我就在这边献丑一翻,讲讲我所了解的部份,如有任何错误,请各位大哥多多指教... IEEE制定之浮点数格式说明: float型态:用4个bytes储存,也就是32 bits. 各个bit的用途如下: bit 31转载 2007-08-22 09:34:00 · 1208 阅读 · 0 评论 -
VC中多文件工程的PCLint使用详解
1.安装 我使用的是PC.Lint.v8.00e,是不用安装的版本。 解开到E:/PC.Lint.v8.00e目录,可执行文件为Lint.exe(lint-nt.exe与其相同,可能为NT平台用的,在Win2000下都可运行)。 子目录lnt内是检查的规则及选项文件,这两种文件扩展名全为.lnt。2.准备自己工程的选项文件 在E:/PC.Lint.v8.00e/lnt下新建MyProj.lnt转载 2007-05-25 20:52:00 · 1613 阅读 · 0 评论