- 博客(20)
- 资源 (40)
- 问答 (2)
- 收藏
- 关注
转载 STL map的使用
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有
2015-01-29 15:31:54 500
原创 Dev-C++制作动态库的简单使用
一、dll的生成方法1、新建一个dll的工程2、把生成的dllmain和dll.h删除掉3、添加自己的头文件和源文件4、在头文件中加上DLLIMPORT宏#if BUILDING_DLL# define DLLIMPORT __declspec (dllexport)#else /* Not BUILDING_DLL */# define DLLIMPORT __decl
2015-01-27 13:59:20 3154
转载 window下动态库dll详解
引言 比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序 EXE 文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时也会消耗较大的内存空间,造成系统资源的浪费;另一个缺
2015-01-26 13:41:53 1624
转载 socket UNIX域本地IPC通信
socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIXDomain Socket。虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个进
2015-01-19 09:32:06 561
转载 linux下多播技术的使用
多播技术(Multicast)常常用来编制分布式的聊天、流体音频,和视频等等应用程序。在Linux中使用多播技术,与使用UDP给单个用户发送消息,没有多大的区别,只是你要使用一个特殊的多播IP地址,还有一些环境需要改变一下。 一般的网卡,都是支持多播技术的,但是操作系统不一定。Linux一般在缺省状态编译时,可能都不支持Multicast,你需要从新配置和编译你的内核,使它支持多播,然后你需要使
2015-01-16 22:09:13 1738
原创 Linux下socket传输文件示例
为了方便获取在嵌入式设备中生成的文件,可以在嵌入式端建立一个文件服务器/*server.c*/#include #include #include #include #include #include #define HELLO_WORLD_SERVER_PORT 8187 #define LENGTH_OF_LISTEN_QUEUE 20
2015-01-16 10:05:26 719
原创 google protobuf 在Linux下安装与使用
一、介绍 首先,protobuf是一个开源项 目,而且是后台很硬的开源项目。网上现有的大部分(至少80%)开源项目,要么是某人单干、要么是几个闲杂人等合伙搞。而protobuf则不然,它是 鼎鼎大名的Google公司开发出来,并且在Google内部久经考验的一个东东。由此可见,它的作者绝非一般闲杂人等可比。 那这个听起来牛X的东东到底有啥用处捏?简单地说,这个东东干的事儿其实
2015-01-15 18:36:16 1587
原创 C++超基础:异常处理——上
一、异常处理1、throw语句将异常抛出,如果当前函数没有try...catch语句能够处理,那么当前函数将立即返回2、异常被传递到上层调用函数,仍然需要try...catch语句的处理,如果上层函数也没有能力处理该异常,则异常继续向更上层的函数传递,如此循环3、如果在函数调用栈里面所有函数都没有能力处理该异常,则程序异常终止4、同一个try语句可以跟上多个catch语句块,同一个
2015-01-11 09:42:21 534
原创 C++超基础:STL
一、线性表vector/*test.cpp*/#include #include using namespace std;int main(){ vector array(10); cout<<"array sizez: "<<array.size()<<endl; for (int i=0; i<5; i++) { array[i] = i + 1;
2015-01-10 20:48:37 387
原创 C++超基础:类模板——下、类模版的特化
一、类的特化1、编译器会自动优先选择特化的类模版2、函数模版和类模版的模版参数也可以是普通数值#include using namespace std;templateclass Test{public: void add(T1 a, T2 b) { cout<<"Test"<<endl; cout<<(a + b)<<endl; }};/*templ
2015-01-10 17:31:41 623
原创 C++超基础:类模版——上
一、类模版1、类模版与普通函数的实现方式一样2、类模版在定义对象的时候必须指定类型,否则编译器不会自动推导二、示例#include using namespace std;templateclass Operator{public: T Add(T a, T b) { return a + b; } T Minus(T a, T b)
2015-01-10 13:26:08 546
原创 c++超基础:函数模版
一、泛指编程template 告诉编译器使用函数模版,T表示泛指的类型,废话不多说,直接实践二、示例#include #include using namespace std;#define GetArrayLen(array, len) (len = sizeof(array)/sizeof(array[0]))templatevoid Swap(T
2015-01-10 11:24:03 330
原创 c++超基础:多态——下、抽象类与虚函数
一、课堂要点二、使用示例#include using namespace std;class Shape{public: virtual double area() = 0;};class Rectangle : public Shape{ double a; double b;public: Rectangle(double
2015-01-09 23:31:53 352
原创 c++超基础:多态——上、虚函数
一、多态的概念多态:同样的调用行为,表现出不同的表现形态二、江湖恩怨不加virtual 关键字和加上virtual 关键字的区别#include using namespace std;class Boss{private: static Boss *Instance; Boss(){};public: static Boss* GetInstance(
2015-01-08 23:04:27 337
原创 Linux下TCP输出打印消息
一、需求有时我们的程序在产品上跑,不知道那天会出现问题,再重启程序才能看到打印的消息,但是重启后问题又不出现了,所以就需要在出问题的时候能看到程序的打印消息。二、程序设计用TCP来发送打印消息,服务端只需要调用int CreaSendPthread(),而客户端只需要调用int CreaRecvPthread(char *ipaddr)就可以了,端口已经默认绑定一样了。在工程里面在需要
2015-01-08 14:41:26 1080
原创 c++超基础:继承的构造与析构(赋值兼容性原则)
一、概念二、代码示例#include using namespace std;class Parent{protected: const char *Name;public: Parent() { Name = "Parent"; } void print() { cout<<"Name: "<<Name<<endl; }};
2015-01-07 22:35:37 411
原创 c++超基础:操作符重载下(重载符号:=、[]、==、!=)示例
#include using namespace std;/**************************************************************************** 当类中有指针变量时候,需要重载赋值操作符,因为编译器的赋值操作只是简单的值赋值,会导致对象消亡时调用析构函数释放2次同一片内存,而另外的对象的内存没有释放,造成内存泄漏 *
2015-01-05 22:18:13 1558
原创 c++超基础:操作符重载、友员函数
#include using namespace std;class Complex{private: int a; int b;public: Complex(){} ~Complex(){} Complex(int a, int b); friend Complex operator+(const Complex &c1, const Complex &c2); f
2015-01-04 22:00:46 596
window下NFS服务器
2014-11-13
SecureCRT.7.3.keygen.rar
2017-10-24
sourceinsight4.0_pojie_perfect.zip
2017-10-24
tinyxml_2_6_2.zip
2015-02-12
如何实现嵌入式网卡限制带宽/限速方法
2018-02-10
两个线程都通过一个socket进行send是否需要互斥锁?
2015-03-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人