随笔分类 - c++
摘要:c++socketnulldelete服务器stream头文件[cpp]view plaincopy/************************************************************************发送邮件模块头文件*可以发送文本和附件(支持多个附件一...
阅读全文
摘要:目录1概述▪为什么要重构(Refactoring)▪何时着手重构(Refactoring)▪重构(Refactoring)的难题▪重构(Refactoring)与设计2重构与性能(Performance)▪译注▪优化1概述编辑重构(Refactoring)就是在不改变软件现有功能的基础上,通过调整程...
阅读全文
摘要:这是一个比较常用的C/C++杂注,只要在头文件的最开始加入这条杂注,就能够保证头文件只被编译一次。#pragma once是编译器相关的,有的编译器支持,有的编译器不支持,具体情况请查看编译器API文档,不过现在大部分编译器都有这个杂注了。#ifndef,#define,#endif是C/C++语言...
阅读全文
摘要:Memory leakage has been a permanent annoyance for C/C++ programmers. Under MSVC, one useful feature of MFC is report memory leaks at the exit of an ap...
阅读全文
摘要:之前一直在讲如何epoll如何好用,但是并没有实例来演示epoll的使用,下面我们就看一个服务器端使用epoll监听大量并发链接的例子。首先看一下epoll的几个函数的介绍。1、epoll_create函数/*** @brief该函数生成一个epoll专用的文件描述符。它其实是在内核申请一空间,用来...
阅读全文
摘要:http://www.codesynthesis.com/products/odb/download.xhtmlInstalling ODB on UNIXIntroductionThis guide presents step-by-step instructions for installing...
阅读全文
摘要:首先是不支持联合主键,而且没有CHECK约束、UNIQUE约束,这是官方都承认的。虽然提供了延迟加载(lazyload)来改善效率,不过使用起来不方便查询不灵活,只能在WHERE之后的部分设定查询条件,像查询存在(SELECT EXISTS)、查询数量(SELECT COUNT)都必须定义一个视图来...
阅读全文
摘要:本节介绍ODB的事务与 异常。数据库操作经常涉及到操作多个表格,或者表格中的多行数据。因此必须保证整个过程是原子性的。ODB为数据库的事务提供了易于使用的接口。使用odb::databse的相关方法(persist、update、erase、load)时,必须处于某个事务之间。事务由 odb::tr...
阅读全文
摘要:目录[-]1. ODB中的继承类型2. abstract和polymorphic的区别3.polymorphic表格4.早期版本如何实现polymorphic5.实例本节主要介绍ODB中的继承和C++之间的关系。ORM中的O的关系是很复杂的。其中之一便是对象的继承体系。在C++语言中支持类之间的继承...
阅读全文
摘要:http://www.kankanews.com/ICkengine/archives/212.shtml 快速的 MySQL 本地和远程密码破解!首先需要对数据库维护人员说明的是,不必紧张,你无需修补这个问题,看起来其实是个小错误而已。 我找到一个方法可非常高效的破解 MySQL 的用户密码,...
阅读全文
摘要:C++的语言特性决定了在C++中的ORM框架不可能像Java,C#那没有那么灵活。C++的ORM框架一般都是基于模板,编译时,因此其效率比起Java中的ORM框架更高。ODB是一个比较独立,成熟的基于C++Template的ORM框架。使用#pragma编译指令和ODB.exe编译器生成SQL的特化...
阅读全文
摘要:ODB: C++ Object-Relational Mapping (ORM)ODB is an open-source, cross-platform, and cross-database object-relational mapping (ORM) system for C++. It a...
阅读全文
摘要:在对象-关系数据库之间提供一个成功的企业 级映射解决方案,尽最大可能弥补这两种范例之间的差异。持久就是对数据的保持,即对程序状态的保持。通常通过数据库实现持久层是把数据库实现这块当作一个独立逻辑拿出来。说白了,就是数据库程序是在内存中的,为了使程序运行结束后状态得以保存,就要保存到数据库使用ORM(...
阅读全文
摘要:C++ORM框架自动生成代码数据库用过Java的都知道SSH框架,特别对于数据库开发,Java领域有无数的ORM框架,供数据持久层调用,如Hibernate,iBatis(现在改名叫MyBatis),TopLink,JDO,JPA……非常方便实用。用过C#的同学们也都知道通过CodeSmith软件,...
阅读全文
摘要:项目中由于各方面因素,总是有人抱怨存在内存泄漏,系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败。内存泄漏是最难发现的常见错误之一,因为除非用完内存或调用malloc失败,否则都不会导致任何问题。实际上,使用C/C++这类没有垃圾回收机制的语言时,你很多时间都花在处理如何正确释放内存上。...
阅读全文
摘要:C++类型转换分为:隐式类型转换和显式类型转换第1部分.隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽的数据类型成为目标转换类型。intival=3;doubledval=3.14159;ival+...
阅读全文