
C/C++
文章平均质量分 84
weide001
这个作者很懒,什么都没留下…
展开
-
string类的秘密
最近想要写一些跨平台的公用函数,在windows下,作为.dll;在linux下,作为.so文件使用;所以,想用一些通用的数据类型作为函数参数,但是char* 或者const char* 都很不好用,主要是不方便,不得不类型转换来转换去的。所以,就采用string&作为参数,如 dllapi string& Encrypt(string& cptTxt,const ch原创 2009-01-05 22:48:00 · 820 阅读 · 0 评论 -
Windows下C/C++可变参数宏实现技巧
Windows下C/C++可变参数宏实现技巧在开发过程中,有很多阶段,每个阶段可能会注重不同的重点,我们可能会在不同阶段让程序输出或者打印不同的信息以反应运行的情况,所以我们必须分阶段的使得程序输出我们在每个阶段所要关心的信息,甚至在最后让程序不再输出信息。这就要用到了宏定义! 我们知道,在linux下很方便的就能实现可变参数宏的定义,比如:#define myprint原创 2009-06-12 10:25:00 · 17173 阅读 · 1 评论 -
C/C++学习心得(1):保证delete()掉的是“真实”的指针
举个例子来说明://=================================================================//DeleteObject.h class Item; class DeleteObject{public: DeleteObject(void);public: ~DeleteObject(原创 2009-06-16 17:07:00 · 2321 阅读 · 1 评论 -
C++ 之try-except
C++ 之try-except转载自:http://blog.youkuaiyun.com/chief1985/archive/2008/05/13/2443235.aspx导读: 从本篇文章开始,将全面阐述__try,__except,__finally,__leave异常模型机制,它也即是Windows系列操作系统平台上提供的SEH模型。主人公阿愚将在这里与大家分享SEH的学习过程和经验总结。转载 2009-06-22 10:08:00 · 6036 阅读 · 2 评论 -
Linker Tools Warning LNK4098 解决办法
Linker Tools Warning LNK4098 defaultlib "library" conflicts with use of other libs; use /NODEFAULTLIB:library You are trying to link with incompatible原创 2009-08-28 15:12:00 · 842 阅读 · 0 评论 -
STL迭代器简介
转自 http://www.cppblog.com/The-Moment/archive/2009/06/18/88023.html 标准模板库(The Standard Template Library, STL)定义了五种迭代器。下面的图表画出了这几种: input output / /转载 2009-07-03 15:16:00 · 4512 阅读 · 0 评论 -
c语言获取时间
C语言获取系统时间的几种方式 C语言中如何获取时间?精度如何? 1 使用time_t time( time_t * timer ) 精确到秒2 使用clock_t clock() 得到的是CPU时间 精确到1/CLOCKS_PER_SEC秒3 计算时间差使用double difftime( time_t timer1, time_t timer0 )4 使用DWORD Ge转载 2009-07-07 15:43:00 · 3843 阅读 · 1 评论 -
Linux下高精度的时间测量
转自 http://hi.baidu.com/ybzzzzz/blog/item/2bf442181f6e8db24bedbc6d.html想在Linux下实现高精度的时间测量,需要用到gettimeofday这个函数,它提供了微妙级的时间精度,函数定义如下:gettimeofday(取得目前的时间) 相关函数 time,ct转载 2009-07-08 09:15:00 · 3166 阅读 · 0 评论 -
纳秒级的计时精度
文章出处:http://www.diybl.com/course/3_program/c++/cppjs/200847/108545.html在Windows平台下,常用的计时器有两种,一种是timeGetTime多媒体计时器,它可以提供毫秒级的计时。但这个精度对很多应用场合而言还是太 粗糙了。另一种是QueryPerformanceCount计数器,随系统的不同可以提供微秒级的计数。对于实时转载 2009-07-09 15:14:00 · 2762 阅读 · 0 评论 -
在Windows下编译ffmpeg完全手册
在Windows下编译ffmpeg完全手册转载自 http://bbs.chinavideo.org/viewthread.php?tid=1897&extra=page%3D1 本文的内容几乎全部来自于FFmpeg on Windows,但是由于国内的网络封锁,很难访问这个域名下的内容,因此我一方面按照我自己的理解和实践做了翻译,另一方面也是为了能提供一个方便的参考方法。注:原创 2010-03-02 10:22:00 · 958 阅读 · 0 评论 -
Linux内核编码风格--C程序代码风格
转自 http://www.chinaunix.net 作者:albcamus 这篇简短的文章描述了Linux内核首选的编码风格。编码风格是很个人化的东西,我不会把自己的观点强加给任何人。但是,Linux内核的代码毕竟是我必须有能力维护的,因此我宁愿它的编码风格是我喜欢的。请至少考虑一下这一点。 首先,我建议打印一份《GNU编码标准》,不要阅读它。烧掉它,它不过是象征性的姿态。 然后,请看原创 2009-06-10 13:29:00 · 1315 阅读 · 0 评论 -
替换Visual C++提供的CRT Library
替换Visual C++提供的CRT Library转自:http://dev.youkuaiyun.com/article/18/18210.shtm第一部分:基础微软在其Visual C++产品中包含了一套C语言运行时库,它的其它库产品大多基于这一套库(比如MFC)。在特殊的场合,我们可能需要使用自己的运行时库来替代它。比如,某一些对于注重系统综合性能的游戏。那时,我们只需要实现运行时库中的某转载 2009-06-08 15:55:00 · 1288 阅读 · 0 评论 -
控制全局变量初始化顺序 && #pragma详解
控制全局变量初始化顺序转自:http://nathan.xuli.googlepages.com/cpp_global 全局变量的初始化分两种。一种是static initialization,用常量来初始化,在程序被load的时侯就完成了。另一种就是dynamic initialization,简单地说就是需要调一个函数来执行初始化,在CRT的启动代码中会完成这个工作。我转载 2009-06-08 15:10:00 · 4087 阅读 · 0 评论 -
Vs2005下重复定义的问题解决 ... already defined in ...
转自 http://blog.youkuaiyun.com/bao_qibiao/archive/2008/11/18/3327669.aspx 方案一、编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。弄清楚它形成的原因,就可以轻松解决它了。 造成LNK2005错误主要有以下几种情况: 1.重复定义全局变量。可能存在两种情况:转载 2009-04-10 14:07:00 · 3930 阅读 · 1 评论 -
VC 界面库 皮肤库 (链接)
CJLib(mfc扩展开发包,是xtreme toolkit的前生,但xtreme toolkit收费了)http://www.codejock.com/BCGControlBar(收费,mfc扩展开发包,功能很强大)http://www.bcgsoft.comSkinMagic(收费,看起来像Office)http://appspeed.com/html/download.htmlA原创 2009-04-23 09:39:00 · 842 阅读 · 0 评论 -
C/C++的条件编译
以为已经掌握条件编译,预编译的要领了,结果还是存在很多遗漏的地方,所以规整一下:条件编译:1#ifdef _XXXX...程序段1...#else...程序段2...#endif 这表明如果标识符_XXXX已被#define命令定义过则对程序段1进行编译;否则对程序段2进行编译。2#ifndef _XXXX ...程序段1... #else ...程序段2... #end原创 2009-04-29 13:43:00 · 1377 阅读 · 0 评论 -
C/C++调用Delphi制作的dll时发现的一些问题
做了一个网络业务逻辑实体,是用C++编写的dll,内部有一个全局的业务实体,外部准备用Delphi编写的界面程序来控制并显示状态...... 1. C++的dll中不能用C++风格的导出方式:_declspec(dllexport)来导出函数,要用C风格的导出方式:extern "C" _declspec(dllexport),否则Delphi在加载C++的dll时报错:无法定位函数xxx原创 2009-05-05 13:42:00 · 3483 阅读 · 1 评论 -
Java调用Delphi DLL(通过C++调用和直接调用两种方式)
文章来自[SVN中文技术网]转发请保留本站地址:http://www.svn8.com/java/Socket/20080924/1002.html 文章摘要:关于Delphi的DLL,先前在VC,VB,PB这些开发工具中调用都是没有问题的,但是在Java中还没有做过,于是Google,据说是直接调可能有问题,最好在中间用C++转一下。 一、Java->C++->Delphi转载 2009-05-05 15:58:00 · 1469 阅读 · 0 评论 -
.obj .lib .dll .exe的关系
转自: http://blog.youkuaiyun.com/iamyina/archive/2008/05/04/2378331.aspx lib是和dll对应的:lib是静态的库文件,dll是动态的库文件。所谓静态就是link的时候把里面需要的东西抽取出来安排到你的exe文件中,以后运行你的exe的时候不再需要lib。所谓动态就是exe运行的时候依赖于dll里面提供的功能,没有这个d转载 2009-05-07 13:14:00 · 984 阅读 · 0 评论 -
TCP/IP协议的套接字类型及异步winsock编程例子
TCP/IP协议的套接字类型及异步winsock编程例子流套接字(SOCK_STREAM):流套接字用于提供面向连接、可靠的数据传输服务。该服务将保证数据能够实现无差错、无重复发送,并按顺序接收。流套接字之所以能够实现可靠的数据服务,原因在于其使用了传输控制协议,即TCP(The Transmission Control Protocol)协议。数据报套接字(SOCK_DGRAM):数据报原创 2009-07-21 17:16:00 · 2673 阅读 · 3 评论 -
多线程传输实现例子
from: http://topic.youkuaiyun.com/u/20090311/09/b455c7e3-edbb-441d-abee-752054b41f04.html 实现原理将源文件按长度为分为N块文件,然后开辟N个线程,每个线程传输一块,最后合并所有线线程文件.比如一个文件500M我们按长度可以分5个线程传输.第一线程从0-100M,第二线程从100M-200M......转载 2009-07-22 17:21:00 · 1139 阅读 · 0 评论 -
C语言编译全过程
转自:http://blog.chinaunix.net/u3/94145/showart.php?id=1911814编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。 编译的完整过程:C转载 2009-05-21 12:49:00 · 994 阅读 · 0 评论 -
windows xp下编译出ffmpeg.exe
windows xp下编译出ffmpeg.exe转自 http://home.chinavideo.org/space.php?uid=1&do=thread&id=9 找了好多资料,把自己的编译成功过程详细叙述,以避免后来者可以少浪费点时间。1.安装MSys到http://sourceforge.net/project/showfiles.php?group_id=2435下转载 2010-03-01 17:50:00 · 1167 阅读 · 0 评论