- 博客(35)
- 收藏
- 关注
原创 搭建webrtc服务器, licode 全过程(2019)
1. 源码下载编译与安装.官方网站有安装方法说明:http://lynckia.com/licode/install.html#clone遵照以上说明:git clone https://github.com/ging/licode.gitcd licode下载代码安装git输入命令即可,下边安装可能遇到的问题及解决方式:./scripts/installUbuntuD...
2019-03-18 19:11:37
4442
2
转载 C++中 Const用法小结
C++中 Const用法小结 关于C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,参考了康建东兄的const使用详解一文,对其中进行了一些补充,写下了本文。 1. const常量,如const int max = 100; 优点:const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符
2008-02-28 21:28:00
618
原创 网络文件传输影响因素分析
读《Visual C++ 编程技巧典型案例分析》――网络与通信及计算机安全与维护篇实例19: Soket网络程序中参数对流传输性能的影响分析学到知识: Socket程序影响传输性能的参数有5个:套接字个数、传输延时、传输块的大小、套接字接收缓冲区和发送缓冲区。(1) 每个线程一个套接字,适当设定线程数量可以提高传输速度。(2) 适当设定延时时间。(3) 适当设置
2008-01-03 21:38:00
2186
转载 VC读取XML简单例子
VC读取XML简单例子XML最近被吹的神乎其神,很多数据的交换,包括很多中间件系统,WebService,软件的配置文件,都是在用XML这个技术,的确是个好东西,我手痒,写了个读取XML的代码片段,用的是MSXML的一些接口。我读的是BT软件的配置文件,XML内容如下: version="1.0"?>BitComet Author="RnySmile" Version="0.1
2008-01-02 21:32:00
3832
转载 使用SkinMagic美化VC界面
1、SkinMagicLib.h拷贝到工程目录下;2、将SkinMagicLib.lib及smf皮肤文件放到VC工程的RES目录下;3、将Lib文件链接到工程中;4、在StdAfx.h中加入 #include "SkinMagicLib.h"5、用文本编辑器打开工程的rc文件,在里面加入/**//////////////////////////////////////////////
2008-01-02 21:22:00
1301
转载 即使通讯软件
Miranda IM 2007-07-18 11:36:27 Miranda IM是一款支持多种协议的即时聊天客户端程序,高效便捷,无需安装即可使用,而且占用内存更少。特别适合经常在不同机器上聊天的用户,可以把 Miranda IM拷贝到闪存上随处聊。超强的插件系统让Miranda IM获得极高的扩展性,软件本身只内置了最常用的通讯功能,其余强大特性可随时通过网站上提供的数百个
2008-01-02 15:43:00
1309
转载 IP信使传输协议
最近看到一些朋友在编写网络程序是遇到一些问题,故把以前做IPMSG时翻译的文档贴过来,希望对网络编程新手有所帮助,在寻找编程项目的同学们也可参照此文档写出自己的IPMSG。本文只包含其中几个比较重要的命令以及运行机制的中文翻译,更详细的内容请参照文后的IPMSG 协议英文文档声明:下述协议内容略去了一些在编写程序过程中没有用到协议内容,最初的Ipmsg协议是用日文写的,下面协议内容由本人(cu
2008-01-01 21:28:00
2423
转载 MFC的CString(VC6) 内存管理分析[2]
nbsp; try{ // 分配内存块 默认是64个m_nallocsize. pnewblock = cplex::create(m_pblocks, m_nblocksize, m_nallocsize); }catch_all(e){ ...异常 }end_catch_all // 下面的代码是将内存块压入m_pnodefre
2007-12-18 20:30:00
1180
转载 MFC的CString(VC6) 内存管理分析[1]
cstring 类是我们经常用到的类,所以有必要对它的内存管理模式分析一下.cstring 内存管理的演变过程如下: vc5 单纯的使用new delete方法。 因为字符串操作需要频繁调整内存大小.而采用c++操作符 new 与 delete 是没有与realloc相应功能的。结果就是每一次的改变内存大小都需要额外 增加一次拷贝操作。
2007-12-18 20:25:00
1082
原创 Plex,内存块的申请
struct KK_Plex // warning variable length structure{ KK_Plex* pNext;/*#if (_AFX_PACKING >= 8) DWORD dwReserved[1]; // align on 8 byte boundary#endif*/ void* data() { return this+1; } static
2007-12-18 20:07:00
1109
原创 MFC常用数据类型
MFC常用数据类型:1、UINT A 16-bit unsigned integer on Windows versions 3.0 and 3.1; a 32-bit unsigned integer on Win32.定义原型:typedef unsigned int UINT;2、bool应该是C语言里定义的,返回值为true和false(事实上就上1和0)
2007-12-18 18:54:00
2454
转载 CMap用法的精辟解释
如何声明CMAP许多人对Cmap的声明模式CMap感到迷惑,为什么不用CMap呢?实际上,CMap中的的数据最终会是CPair,而CPair内部是(KEY,VALUE)。因此,CMap其实存 储的是KEY,而非ARG_KEY。然而,如果你查看MFC的源代码,几乎CMap所有的内部参数传递都是访问ARG_KEY和ARG_VALUE,因 此,使用KEY&来代替ARG_KEY似乎是正确的,除了在
2007-12-18 18:22:00
6110
1
原创 优快云提交BLOG文章,字体放大后重叠!
最近开始使用优快云 往自己的BLOG上提交文章,发现转载COPY过来的文章,粘贴到这个控件中后,字体放大后显示时,会产生文字重叠的问题。后来先粘贴到WORD中,放大字体后在粘贴回来,还是发现有文字重叠的现象。现在解决办法:粘贴到WORD中后,设置成自己想要的字体后,保存成HTM格式,在用IE打开,这样一定没有文字重叠吧,在拷贝整篇文章,粘贴到这里就可以了,文字不会出现重叠。
2007-12-17 09:11:00
1226
转载 C++中接口与实现分离的技术
在用C++写要导出类的库时,我们经常只想暴露接口,而隐藏类的实现细节。也就是说我们提供的头文件里只提供要暴露的公共成员函数的声明,类的其他所有信息都不会在这个头文件里面显示出来。这个时候就要用到接口与实现分离的技术。《COM技术内幕》 §7 —— 类厂、COM库 CoCreateInstance的声明: HRESULT __stdcall CoCreateInstance( const CLSID
2007-12-16 21:33:00
908
转载 C++做一个真正动态链接的DLL的做法
让动态链接库真正的动态其实是一件很麻烦的事情。事实上,可以称得上“动态”的函数一共就只有两种,即全局函数和纯虚函数。所以我们有三种做法: 第一种做法,对于接口,不使用任何类,所有导出函数都用extern "C"的全局函数。 第二种做法就是使用COM,COM做了我这篇文章所说的几乎所有的事情,除此之外还顺便把线程同步这些烦人的事情也一并解决了。 第三种做法,导出一个全局函数,让这个函
2007-12-16 21:15:00
898
转载 COM学习笔记七《COM技术内幕》§7 —— 类厂、COM库
《COM技术内幕》 §7 —— 类厂、COM库CoCreateInstance的声明: HRESULT __stdcall CoCreateInstance( const CLSID& clsid, IUnknown* pIUnknownOuter, DWORD dwClsContext, const IID& iid,
2007-12-16 21:12:00
1303
原创 COM学习笔记六《COM技术内幕》§6 —— HRESULT、GUID和注册表
《COM技术内幕》 §6 —— HRESULT、GUID和注册表没有仔细看(Note:这也是很重要的一章)《COM技术内幕》 §6 —— HRESULT、GUID和注册表(重新学习)(1)关于HRESULTCOM组件使用HRESULT来向用户报告各种情况。许多COM接口函数所返回的均是HRESULT值。NOTE HERE:HRESULT != Handle to RESULT,
2007-12-16 21:10:00
856
转载 COM学习笔记五《COM技术内幕》§5 —— 动态链接
《COM技术内幕》 §5 —— 动态链接关于如何从DLL中输出函数;如何装载DLL;客户与组件的划分。《COM技术内幕》 §5 —— 动态链接(重新学习)回顾:1) 将组件分成多个接口只是将应用程序分割成多个部分的第一步。2) 然后我们使用QueryInterface将组件抽象成由多个相互独立的接口构成的集合。3)
2007-12-16 20:48:00
905
转载 COM学习笔记三四《COM技术内幕》--接口和QueryInterface函数
实现了§2和§3的简单的程序,这些程序并不是完全意义上的COM程序。§2 —— IFACE.CPP代码清单: // //Iface.cpp // // #include #i
2007-12-16 20:40:00
672
转载 COM学习笔记一《用VC进行COM编程所必须掌握的理论知识》
1、 为什么要用COMOO vs. COM —— 重用的方法不同(1)类库 —— 类库的重用基于源码的方式① 限制了编程语言② 每次都必须重新编译(2)DLL —— ① 函数重名问题② 各编译器对C++函数的名称修饰不兼容问题(也可以用extern "C";来强调使用标准的C函数特性,关闭修饰功能,但这样也丧失了C++的重载多态性功能)③ 路径问题④ D
2007-12-16 20:29:00
741
转载 COM编程入门(二)
本文为刚刚接触COM的程序员提供编程指南,解释COM服务器内幕以及如何用C++编写自己的接口。 继上一篇COM编程入门之后,本文将讨论有关COM服务器的内容,解释编写自己的COM接口和COM服务器所需要的步骤和知识,以及详细讨论当COM库对COM服务器进行调用时,COM服务器运行的内部机制。 如果你读过上一篇文章。应该很熟悉COM客户端是怎么会事了。本文将讨论COM的另一端——COM服
2007-12-16 19:17:00
936
转载 剪贴板操作之GetClipboardData函数
前面介绍怎么样把数据放到剪贴板里面,那么又是怎么样从剪贴板里面获取数据出来呢?当然还是需要使用其它的API函数来获取剪贴板里的数据。获取剪贴板里的数据时,是不知道当前剪贴板里是否有数据的,也不知道剪贴板里的数据格式是什么。那么下面就来解决这两个问题,先使用函数IsClipboardFormatAvailable来获取剪贴板里的格式是否可以处理,接着使用函数OpenClipboard打开剪贴板,然后
2007-12-15 22:02:00
19715
转载 全局变量和静态全局变量区别(转载)
static全局变量与普通的全局变量有什么区别?全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。static全局变量与普通的全局变量有什么区别:static全局变量只初使化一次,防止在其他文件单元中被引用;static局部变量和普通局部变量有什么区别:
2007-12-15 21:58:00
791
转载 COM编程入门1
本文的目的是为刚刚接触COM的程序员提供编程指南,并帮助他们理解COM的基本概念。内容包括COM规范简介,重要的COM术语以及如何重用现有的COM组件。本文不包括如何编写自己的COM对象和接口。 COM即组件对象模型,是Component Object Model 取前三个字母的缩写,这三个字母在当今Windows的世界中随处可见。随时涌现出来的大把大把的新技术都以COM为基础
2007-12-14 22:23:00
786
原创 DLL查看相关工具_以及相关注意事项
一. DUMPBIN 命令行Microsoft COFF 二进制文件转储器 (DUMPBIN.EXE) 显示有关 32 位通用对象文件格式 (COFF) 二进制文件的信息。可以使用 DUMPBIN 检查 COFF 对象文件、标准 COFF 对象库、可执行文件和动态链接库 (DLL)。(在VC Studio 目录下有dumpbin.exe工具,环境配置文件路径:visual Stud
2007-12-14 21:10:00
4997
1
转载 DLL编程06_Win32环境下动态链接库(DLL)编程原理
作者:李欣提交者:eastvc 发布日期:2003-12-10 14:08:40原文出处:http://www.swm.com.cn/比较大应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。其中可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序EXE文件中,会产生一些问题:一
2007-12-14 08:49:00
708
转载 DLL编程05 _delete this,dll导出类及如何写plugins(PART III)
3.实现plugins。有了前两章的基础,这个就比较好办了。先了解一点点基本概念:Q:what is pluginsA:就是通过加载不同的dll实现不同的功能,或者附加的功能,典型的如模拟器的各种插件(显示,input...)。Q:why we use pluginsA:主要为了使程序模块化,并且容易扩充。升级组件时不需要重新发布整个产品。Q:how to do it?A:使用LoadLibrar
2007-12-14 08:44:00
583
转载 DLL编程04
一般来说,DLL是一种磁盘文件,以.DLL、.DRV、.FON、.SYS和许多以.EXE为扩展名的系统文件都可以是DLL。它由全局数据、服务函数和资源组成,在运行时被系统加载到进程的虚拟空间中,成为调用进程的一部分。如果与其它DLL之间没有冲突,该文件通常映射到进程虚拟空间的同一地址上。DLL模块中包含各种导出函数,用于向外界提供服务。DLL可以有自己的数据段,但没有自己的堆栈,使用与调用它的应用
2007-12-13 21:48:00
582
转载 dll编程 03
6.1概论 MFC扩展DLL与MFC规则DLL的相同点在于在两种DLL的内部都可以使用MFC类库,其不同点在于MFC扩展DLL与应用程序的接口可以是MFC的。MFC扩展DLL的含义在于它是MFC的扩展,其主要功能是实现从现有MFC库类中派生出可重用的类。MFC扩展DLL使用MFC 动态链接库版本,因此只有用共享MFC 版本生成的MFC 可执行文件(应用程序或规则DLL)才能使用MFC扩展DLL。
2007-12-13 21:06:00
566
转载 dll编程 02
VC++动态链接库编程之MFC规则DLL5. MFC规则DLL 5.1 概述 MFC规则DLL的概念体现在两方面: (1) 它是MFC的 “是MFC的”意味着可以在这种DLL的内部使用MFC; (2) 它是规则的 “是规则的”意味着它不同于MFC扩展DLL,在MFC规则DLL的内部虽然可以使用MFC,但是其与应用程序的接口不能是MFC。而MFC扩展DLL与应用程序的接口可以是M
2007-12-13 21:05:00
466
转载 dll编程 01
1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该DLL不必被
2007-12-13 21:02:00
578
原创 ::ShellExecute(NULL, TEXT("open"), m_lpText, NULL, NULL, SW_SHOWNORMAL);
可用于打开文件/文件夹,或打开指定URL地址。头文件为:#include
2007-12-13 13:28:00
911
原创 续:开源软件新时代 55个经典开源Windows工具
PDF-Creator 0.81:PDF程序网址:http://sector7g.wurzel6.de/pdfcreator/index_en.htm 用于生成PDF文件的商业软件或共享软件已经相当丰富,但完全免费的软件还不太多见。在这里我们要向你推荐PDF-Creator,它可以作为 Windows网络打印机或者桌面打印机安装在你的系统中。这意味着你可以在任意的Windows应用程序中输出
2007-12-12 10:30:00
1114
转载 开源软件新时代 55个经典开源Windows工具
开放源代码软件已经成为一个时髦的名词,这里有两个有力的证据:Firefox浏览器的下载人次超过了2500万;同时,基于Linux的Web服务器也占据了最大的市场份额。人们普遍相信,开放源代码软件(open-source software,简称OSS)要比专有软件系统(即声明用户不能分享或修改软件的软件系统)要更安全。这可能有两个原因:首先,由于开源软件的源代码是向所有人开放的,因此任何人都可以找出
2007-12-12 10:28:00
930
原创 _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
这个是调用DLL,自己编写的DLL,调试工程时,运行后出现这样的错误。 查阅相关资料后,得知是因为工程编译设置项有问题。修改:在VC6.0工程中进行设置,Project-->Setting-->左边选择编译的工程,右边选择C++标签-->Category:-->选择Code Generation-->把Use run-time library:改成Multithreaded DLL
2007-12-12 09:52:00
4302
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人