Welcome 微信登录

首页 / 软件开发 / C++

标准C/C++程序通过gSOAP调用WebService

标准C/C++程序通过gSOAP调用WebService

标准C/C++程序通过gSOAP调用WebService2011-04-02 51cto博客 commandos一、环境准备在本文中,所有程序均在Linux下开发完成,经测试能够正常运行。在开发过程中,我们需要用到gSOAP,可以从以下网址下载获得: http://www.cs.fsu.edu/~engelen/soap.html我下载的是gsoap_2.7.12.tar.gz下载下来解压缩,按正常安装过程进行编译、安装。# tar zxvf gsozp_...
学习用doxygen生成源码文档

学习用doxygen生成源码文档

学习用doxygen生成源码文档2011-04-04 IBM Arpan Sen维护用C/C++ 开发的遗留系统并添加新特性是一项艰难的任务。这涉及几方面的问题 :理解现有的类层次结构和全局变量,不同的用户定义类型,以及函数调用图分析等等。 本文在 C/C++ 项目的上下文中通过示例讨论 doxygen 的几个特性。但是,doxygen 非常 灵活,也可用于用Python、Java、PHP 和其他语言开发的软件项目。本文的主要目的是帮 助您从 C/C++ ...
细谈C++多态性的“动”与“静”

细谈C++多态性的“动”与“静”

细谈C++多态性的“动”与“静”2011-04-04在我们讨论多态的时候,先看看什么是硬编码和软编码:硬编码就是把代码写死了,导致弹性不足,降低了可扩展性,例如在代码里的if……else……;switch……case……这些代码通常都属于硬编码,项目中的这些代码多了,就相当于说明这个代码的灵活性、扩展性、弹性等等的少了。所以,我们要尽量使用软编码...
突破select的FD_SETSIZE限制

突破select的FD_SETSIZE限制

突破select的FD_SETSIZE限制2011-04-04Kevin Lynx前言:在很多比较各种网络模型的文章中,但凡提到select模型时,都会说 select受限于轮询的套接字数量,这个数量也就是系统头文件中定义的FD_SETSIZE值(例 如64)。但事实上这个算不上真的限制。C语言的偏方:在C语言的世界里 存在一个关于结构体的偏门技巧,例如:typedef struct _str_type{ int _len; char _s[1];} ...
我做的一个C++用的Serialization库(含部分源码)

我做的一个C++用的Serialization库(含部分源码)

我做的一个C++用的Serialization库(含部分源码)2011-04-04陈梓瀚众所周知,boost里面有一个Serialization。不过我这个跟boost的有本质上的差别。boost的Serialization是通过重载操作符将一个对象与一个流进行读写,而我则通过记录类的成员变量来自动产生相应的读写动作。不过我的Serialization库有两个缺点,就是效率不是特别高,因为我产生的是可以与XML进行互相转换的通用对象。虽然这并不是必需的,只...
数据库在C++程序中使用方法

数据库在C++程序中使用方法

数据库在C++程序中使用方法2011-04-04在本教程中,我假设大家都知道如何使用C++的类进行工作,因为我所有的数据结构,要立足于他们。我遇到过关于数据结构的教程,但是很难找到一个使用OOP来编写的。因此,这其中将主要集中于用一个类来编写数据结构。栈在编写代码时,堆栈是最常用的数据结构。它的概念简单,编写也比较简单。有这么一个情况,桌子上有堆成一堆的5本书,你想增加一本。应该怎么做?只要把书放在顶端就可以了。如果你想从这堆书中取出第3本呢?你只要一本接...
简明分析C/C++内存分配的解决方案

简明分析C/C++内存分配的解决方案

简明分析C/C++内存分配的解决方案2011-04-04C/C++的内存分配(通过malloc或new)可能需要花费很多时。更糟糕的是,随 着时间的流逝,内存(memory)将形成碎片,所以一个应用程序的运行会越来越慢。当它 运行了很长时间和/或执行了很多的内存分配(释放)操作的时候。特别是,你经常申请 很小的一块内存,堆(heap)会变成碎片的。解决方案:你自己的内存池一个( 可能的)解决方法是内存池(Memory Pool)。在启动的时候,一个&ldq...
十招编写更易维护的嵌入式代码

十招编写更易维护的嵌入式代码

十招编写更易维护的嵌入式代码2011-04-04 yeeyan 风中纸页应用程序开发的一个重要方面就是代码的维护,但也却是被更快的产品上市要求所忽 略。这对于某一些程序来说,也许并不严重。这是因为这类产品的生命周期很短,或者这 类产品一旦部署就再也不会动它了。然而,嵌入式软件的生命周期却往往长达数 年,这就意味着前期的一些失误会导致后期的大量损失。嵌入式软件就意味着有 较长的生命周期,在设计和实现的时候就一定要考虑维护的问题。下面的技巧虽然不能保 证完整,...
C++删除数组内重复的数据

C++删除数组内重复的数据

C++删除数组内重复的数据2011-04-04笔试时曾经遇到过的一道题,当时没有好的想法。今天无意中想起,于是把自己的一种解决方法记下来。1. main.cpp1./**2. * 问题描述:3. * 删除数组内重复的数据4. *5. * 一个解决方法:6. * 可以先将数组排序,然后再删除7. * 如一个已经排好序的整数数组:1, 1, 2, 2, 38. */9.10.#include <iostream>11.12.using std::c...
三维视图绘制与消隐技术

三维视图绘制与消隐技术

三维视图绘制与消隐技术2011-04-041. 问题的提出在一些数据库管理系统或办公自动化和统计类软件中,一般具有绘制三维视图的功能。使用时通常要求在给出的表格中输入绘图的数据及视角、比例尺等参数。这只适用于小批量的统计数据绘制统计三维视图。在地质、地貌、气象、水文、交通、林业等许多领域,需要描述的某一量通常具有空间分布特征,这种空间分布数据的数量一般十分庞大,当使用上述三维视图软件绘图时经常会遇到输数表格容纳不下的问题,而且按表格重新输入数据也容易出错和...
如何在C++中将数据库数据分行和列保存到Excel中

如何在C++中将数据库数据分行和列保存到Excel中

如何在C++中将数据库数据分行和列保存到Excel中2011-04-04如何在C++中将数据库数据分行和列保存到Excel中? 程序中的数据在StringGrid控件中显示的,那如何按照StringGrid显示的格式分行分列保存到Excel表格呢?请看如下两种方法的实现:第一种方法:采用的一格一格填充数据Variant ExcelApp,WorkBook1,WorkSheet1;//-------------------------------------...
浅析C++标准头文件结构

浅析C++标准头文件结构

浅析C++标准头文件结构2011-04-04在C语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预处理程序。尽管在目前绝大多数编译器都包含了预处理程序,但通常认为它们是独立于编译器的。预处理过程读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行响应的转换。预处理过程还会删除程序中的注释和多余的空白字符。预处理指令是以#号开头的代码行。#号必须是该行除了任...
COM原理及应用---- 结构化存储

COM原理及应用---- 结构化存储

COM原理及应用---- 结构化存储2011-04-041、结构化存储COM的结构化存储(structured storage)机制,也称为永久存储(persistent storage)机制。结构化存储可以说是软件存储技术的一个重要进展,COM针对组件软件的需要,在文件系统的基础上,提出了结构化存储的概念。利用结构化存储,组件程序之间可很好地协同工作,一个组件程序可以与另一个组件程序共享同一个文件,就如同一个应用程序与另一个应用程序共享同一个磁盘文件系统...
COM原理与应用----COM的实现

COM原理与应用----COM的实现

COM原理与应用----COM的实现2011-04-041、COM的实现与操作系统平台密切相关因为COM最初源于Microsoft Windows平台,所以COM实现部分(即COM库)很多地方直接用到了Windows系统的一些特性,比如系统注册表、动态连接库等等,但实际上 COM是一个与平台无关的组件软件模型。Windows上使用的COM标准只是COM的一个具体实现。2、COM的实现方法进程内组件(DLL ,in-process component)。进程...
COM原理及应用----自动化(Automation)对象

COM原理及应用----自动化(Automation)对象

COM原理及应用----自动化(Automation)对象2011-04-041、自动化技术自动化技术既以前提到的OLE自动化。虽然自动化技术建立在COM基础上,但自动化要比COM应用广泛得多。一方面,自动化继承了COM的很多优点,比如语言无关、进程透明等特性;另一方面,自动化简化了COM的一些底层细节,比如属性和方法的处理、一组专用于自动化的数据类型等。自动化也是OLE的基础,所以可以把自动化看作COM和OLE中间的一项技术。自动化的核心是IDispat...
COM原理及应用----统一数据传输

COM原理及应用----统一数据传输

COM原理及应用----统一数据传输2011-04-041、概述COM提供了应用之间数据交换的标准方案,称为统一数据传输(UDT,uniform data transfer)。统一数据传输技术建立在结构化存储技术的基础之上,它通过一个“数据对象”来表达要传输的数据信息,因此,统一数据传输技术的核心在于数据对象的定义和实现。剪贴板和拖-放是统一数据传输的两个典型应用。2、数据交换标准早期的OLE1.0版本使用DDE(Dynamic D...
COM原理及应用----命名和绑定技术

COM原理及应用----命名和绑定技术

COM原理及应用----命名和绑定技术2011-04-041、COM对象的创建方法客户程序可以通过CoCreateInstance函数创建COM,在创建之前必须知道对象的一些基本情况,比如对象的CLSID或者对象的ProgID。另一种对象创建方法是通过名字对象(moniker)创建,就是利用对象命名和绑定技术(即名字技术)。2、名字技术的地位名字技术算不上COM的基本核心,但也是COM体系结构中重要的组成部分,它为客户程序和组件程序提供了另一条更为灵活的联...
COM原理及应用----可连接对象

COM原理及应用----可连接对象

COM原理及应用----可连接对象2011-04-041、COM的高级特性COM规范中有一些高级特性,如可连接对象、永久存储、一致的数据传输等,使COM规范具有更强的生命力,它们也是OLE的基础,但它们的应用又不仅仅局限于OLE,这些高级特性已经广泛应用于Windows操作系统上。2、入接口、出接口与接收器入接口(incoming interface)是组件暴露给客户,被动地监听并为客户请求作出反应的接口。而出接口(outgoing interface)是...
<< 121 122 123 124 125 126 127 128 129 130 >>