随笔分类 - C++编程
摘要:我将以平台划分,分别介绍Windows和Linux下个人认为的好书(与基础篇一样,大部分都提供有电子版);对于C++基础类的图书,这里不再重复,有兴趣的朋友请移步《C++学习–基础篇》。Windows在Windows平台下主要说的是VC编程(使用MFC),以下将对VC开发的相关图书介绍;对于ATL等...
阅读全文
摘要:算起来,用C++已经有七八年时间,也有点可以分享的东西; 以下推荐的书籍大多有电子版。对于技术类书籍,电子版并不会带来一个好的阅读体验。如果喜欢,最好找纸版(图书馆是个好去处);电子版更适合作为一个参考书籍常备电脑。 我将分为基础篇、Windows篇、和Linux/Unix篇 三个部分来介绍这些经典
阅读全文
摘要:关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)1.概念在C/C++中,对字符串的操作有很多值得注意的问题,同样,C/C++对时间的操作也有许多值得大家注意的地方。下面主要介绍在C/C++中时间和日期的使用方法.通过学习许多C/C++库,你可以有很多操作、使用时间的方法。但在这之前你需要了解一些“时间”和“日期”的概...
阅读全文
摘要:当多个域之间有Tuxedo服务调用关系,必须通过域连接才能实现正常调用。 通过以下步骤完成连接配置: 1 导出 首先,需要导出当前的域连接信息。通过管道将信息导入到一个文件中,当然,编辑钱不忘备份: dmunloadcf > dm.0616; cp dm.0616 dm.0616.bak; 2 dm格式说明 dm文件中主要有以下几个部分: *DM_LOCAL "ABC-25" GWGRP="TDM...
阅读全文
摘要:测试方法的主要是根据要测试的对象写一部分调用代码和检查代码。检查代码当然首先要产生期望值,然后调用CppUnit提供的ASSERT宏check。The macro provided by CppUnit is as following a) CPPUNIT_ASSERT(condition):判断condition的值是否为真,如果为假则生成错误信息。 b) c) CPPUNIT_ASSERT_M...
阅读全文
摘要:From:http://blog.csdn.net/freefalcon/archive/2006/05/25/753819.aspx 简介 测试是软件开发过程中极其重要的一环,详尽周密的测试能够减少软件BUG,提高软件品质。测试包括单元测试、系统测试等。其中单元测试是指针对软件功能单元所作的测试,这里的功能单元可以是一个类的属性或者方法,测试的目的是看这些基本单元是否工作正常。由于单元测试的内容...
阅读全文
摘要:单元测试工具CPPUnit在Windows平台下使用图形界面,操作非常直观;但在Unix平台下,就需要花点功夫配置一番: 1.下载文件: 本人使用的是cppunit-1.12.0.rar 版本,可以在以下地址下载(http://u.115.com/file/f6a03bec8)共享有效期有一个月,这软件在网上也好找。如以上地址过期,未找到合适版本,请留言联系; 2.不用安装,直接将cppunit解...
阅读全文
摘要:dlopen:打开一个动态链接库; dlclose:关闭动态链接库; dlsym():从dll中提取函数指针以供调用; 例://///////////////////////////DLLTest.cpp//////////////////////////////////////////////////////#include "DateTime.h"#include <dlfcn.h>#incl...
阅读全文
摘要:一:回车”(Carriage Return)和“换行”(Line Feed)起源 首先,弄清两个概念: 回车CR-将光标移动到当前行的开头。 换行LF-将光标“垂直”移动到下一行。(而并不移动到下一行的开头,即不改变光标水平位置) 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33,Linux/Unix下的tty概念也来自于此)的玩意,每秒钟可以打10个字符。但是它有...
阅读全文
摘要:1.熟悉loadrunner与c++中调用tuxedo服务的对应API: c++: 对比表 C++中 loadrunner 分配内存 tpalloc() lrt_tpalloc() 释放内存 tpfree() lrt_tpfree() 定义发送接收缓冲区 FBFR32* FBFR32* 缓冲区初始化 Finit32() lrt_Finitialize32() 向缓冲区中加入变量 Fadd32() ...
阅读全文
摘要:#include "lrt.h"#include "replay.vdf"vuser_init(){//=================================================================================================================// 第一个交易 // 1.设置变量组: Sets a list of environment variables.lrt_set_env_list(env_allow_array); // 2.从配置文件读取环境变量: Adds
阅读全文
摘要:互联网是一个庞大的非结构化的数据库,将数据有效的检索并组织呈现出来有着巨大的应用前景,尤其是类似RSS的以XML为基础的结构化的数据越来越多,内 容的组织方式越来越灵活,检索组织并呈现会有着越来越广泛的应用范围,同时在时效性和可读性上也会有越来越高的要求。这一切的基础是爬虫,信息的来源入 口。一个高效,灵活可扩展的爬虫对以上应用都有着无可替代的重要意义。 要设计一个爬虫,首先需要考虑的效率。对于网...
阅读全文
摘要:在讨论全局变量之前我们先要明白几个基本的概念:1. 编译单元(模块): 在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用gcc,makefile等工具在linux或者嵌 入式下做开发工作的话,那么你可能非常的理解编译与连接的区别!当在VC这样的开发工具上编写完代码,点击编译按钮准备生成exe文件时,VC其实做了两 步工作,第一步,将每个.cpp(.c)和相应.h文件编译成obj文件;第二步,将工程中所有的obj文件进
阅读全文
摘要:一款很强大的uml辅助工具Quick Sequence Diagram Editor,专门用于画顺序图(Sequence Diagram),关键是免费的.优点有:能够通过写简易的脚本,即时生成Sequence Diagram.带有图片导出功能(png,gif,bmp,jpg,pdf等格式),而且能够调整图片的大小,图片也很清晰.能够画出异步的操作,并以不同的颜色标记不同线程的生命线.(you can create diagrams that model arbitarily(arbitrarily?) many sequences running in parallel, not just a
阅读全文
摘要:编译多线程应用程序的第一步是要确保编译器使用了正确的运行时库:MS为C运行时库提供了几个不同的实现。这些版本在以下3个标准上有所不同:链接方式(静态or动态)、是否可再入(有一个库是为单线程应用程序设计的,是不可再入的;另一个库是为多线程设计的,是可再入的)、以及是否包含调试符号。 开关 含义 /MT 使用静态链接的多线程应用程序 /MTd 多线程应用程序调试使能 /MD 多线程动态链接库...
阅读全文
摘要:在VS工程中,添加c/c++工程中外部头文件及库的基本步骤: 1、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。 2、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。 然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入...
阅读全文
摘要:ATL3.0与7.0在实现细节方面改变比较多,其中对原来的模版类进行了拆分,实现更为细致。同时,从VC6移过来的程序,为了保证其后的兼容性,如果不是Unicode,最好在本次升级中一步到位。具体变更: MyCom程序ATL 3.0(VC6.0 / ANSI)ATL 7.0 (Unicode)主线程文件: class CMyComAppMyCom.cpp中实现:在dllmian.cpp中实现;涉及到主线程相关的函数都在此实现;Dll注册函数:DllRegisterServerDllGetClassObjectMyCom.cpp中实现:MyCom.cpp中实现;(该文件中只剩下注册相关的操作)C
阅读全文
摘要:1、系统和网络编程库:ACE 除了ACE之外,还有很多系统和网络编程方面的程序库。比如在线程库方面,还有ZThread、boost::thread,如果放大到C/C++领域,还有APR,还有CII。在文件和目录操作方面,boost也有相应的组件,而在网络编程方面有socket++,还有boost::asio,未来的C++0X中几乎肯定有一个网络编程和一个线程库。然而目前看来,ACE仍然是进行系统和...
阅读全文
摘要:一、Stanford大学的Phoenix系统(单机多核的应用)1、Phoenix是在共享内存的体系结构上的MapReduce实现。它的目标是在多核平台上,使程序执行得更高效,而且使程序员不必关心并发的管理。事实上并发管理,尽管是经验丰富的程序员,也难免在这上面出错。2、Phoenix由一组对程序应用开发者开放的简单API和一个高效的运行时组成。运行时系统处理程序的并发、资源管理和错误修复, 它的实...
阅读全文
摘要:(1) vc网络编程中遇到一个编译问题,原来是少了WSOCK32.LIB。在 project-->settings-->Link-->Object/Library modules 中加入库WSOCK32.LIB即可。在VC中进行WINSOCK的API编程开发的时候,需要在项目中使用下面三个文件,否则会出现编译错误。 1.WINSOCK.H: 这是WINSOCK API的头文件,...
阅读全文