范式编程--数据交换

利用指针来进行数据的交换;2014-08-01

函数的设计如下:

void swap(void *ap,void *bp,int size)
{
char *buffer=(char *)malloc(size);
memcpy(buffer,ap,size);
memcpy(ap,bp,size);
memcpy(bp,buffer,size);
}

调用方式,以char*为例

char * x=strdup("FRED");
char * y=strdup("NILMA");
swap(&x,&y,sizeof(char *));

函数的有三个入口,分别是要交换的两个数的指针,和交换的数的类型的字节大小(如int,char,short等)。

范式编程--数据交换

时间: 2024-10-25 13:22:31

范式编程--数据交换的相关文章

[笔记][Java7并发编程实战手冊]3.8 并发任务间的数据交换Exchanger

[笔记][Java7并发编程实战手冊]系列文件夹 简单介绍 Exchanger 是一个同步辅助类.用于两个并发线程之间在一个同步点进行数据交换. 同意两个线程在某一个点进行数据交换. 本章exchanger 使用心得总结 两个线程必须使用同一个Exchanger对象,且仅仅能是两个线程间的数据交换 exchanger.exchange(v)的时候,当前线程会被堵塞,直到还有一个线程运行该方法,同一时候完成数据的交换 相似这样的数据交换的,生产者线程一定要先生产数据.再交换数据,消费者线程一定要先

Disruptor——一种可替代有界队列完成并发线程间数据交换的高性能解决方案

本文翻译自LMAX关于Disruptor的论文,同时加上一些自己的理解和标注.Disruptor是一个高效的线程间交换数据的基础组件,它使用栅栏(barrier)+序号(Sequencing)机制协调生产者与消费者,从而避免使用锁和CAS,同时还组合使用预分配内存机制.缓存行机制(cache line).批处理效应(batch effect)来达到高吞吐量和低时延的目标.目前Disruptor版本已经迭代至3.0,本论文是基于Disruptor1.0写就,在新版本中,相对与1.0版本,其核心设计

MFC拆分窗口及它们之间的数据交换[转]

源代码:http://download.csdn.net/detail/nuptboyzhb/4221531 CSplitterWnd类 CSplitterWnd类提供一个分隔器窗口的功能,分隔器窗口是一个包含有多个窗格的窗口.窗格通常是应用程序特定的由CView派生的对象,但它也可以是具有适当子窗口ID的任何CWnd对象. 一个CSplitterWnd对象通常被嵌入CFrameWnd或CMDIChildWnd父对象.你应按如下步骤创建一个CSplitterWnd对象 1.在父框架中嵌入一个CS

第8章防范式编程上(代码大全3)

防御式编程并不是说让你在编程时持“防备批评或攻击”的态度——“它就是这么工作!”这一概念来自防御式驾驶.在防御式驾驶中要建立这样一种思维,那就是你永远也不能确定另一位司机将要做什么.这样才能确保其他人在做出危险动作时你也不会受到伤害.你要担负起保护自己的责任,哪怕是其他司机犯的错误.防御式编程的主要思想是:子程序应该不因为传入错误数据而被破坏,哪怕是由其他子程序产生的错误数据.更一般地说,其核心是要承认程序都会有问题,都需要被修改,聪明的程序员应该根据这一点来编程序. 8.1 Protectin

探索通用可编程数据平面

引言:相比传统网络数据平面,通用可编程数据平面让网络用户可以自定义数据包的完整处理流程,实现理想的协议无关网络数据处理.作为一种理想的SDN数据平面,通用可编程数据平面还不够完善,还需要在不断的尝试中摸索前进. 本文选自<重构网络:SDN架构与实现>. 相比传统网络数据平面,通用可编程数据平面让网络用户可以自定义数据包的完整处理流程,实现理想的协议无关网络数据处理.而当下的OpenFlow模型还无法成为一种完全的通用可编程数据转发模型,还无法实现协议无关的转发.只有实现了真正的通用可编程数据平

可编程数据平面将OpenFlow扩展至电信级应用(二)

可编程数据平面将OpenFlow扩展至电信级应用(二) 案例:基于WinPath网络处理器的电信极OpenFlow (CG-OF)客户端实现 作者:Liviu Pinchas, Tao Lang - PMC-Sierra Eddie Millsopp, Dermot Flanagan - Asidua 4. 软件考量 4.1 数据通道 为达到理想目标,可编程数据通道设备还需要配备一套丰富的数据通道软件协议. 开发该软件的目的在于满足电信级以太网协议严格的实时性要求,并提供所需的灵活度与便利性,从

第8章防范式编程下(代码大全4)

8.4 Exceptions 异常 用异常通知程序的其他部分,发生了不可忽略的错误 只在真正例外的情况下才抛出异常 不能用异常来推卸责任 避免在构造函数和析构函数中抛出异常,除非你在同一地方把它们捕获 在恰当的抽象层次抛出异常 在异常消息中加入关于导致异常发生的全部信息 避免使用空的catch语句 了解所用函数库可能抛出的异常 考虑创建一个集中的异常报告机制 把项目中对异常的使用标准化 对于像C++这类语言,其中允许抛出多种多样的对象.数据及指针的话,那么就应该为到底可以抛出哪些类的异常建立一个

可编程数据平面将OpenFlow扩展至电信级应用(一)

可编程数据平面将OpenFlow扩展至电信级应用(一) 案例:基于WinPath网络处理器的电信极OpenFlow (CG-OF)客户端实现 作者:Liviu Pinchas, Tao Lang - PMC-Sierra Eddie Millsopp, Dermot Flanagan - Asidua 1. OpenFlow OpenFlow定义了软件定义的网络(SDN)中的开放通信协议,从而将控制平面与转发平面分隔开来,并将控制平面集中在控制器之中,数据平面则位于网络设备之上(OpenFlow

SQL CE与SQL Server数据交换

背景:客户资产管理项目分为桌面应用程序和PDA手持式应用程序,手持式应用程序读取资产上的电子标签的信息,并保存在本地的SQL Server CE中,但为了进行统计报表和相关的审核查询,需要把SQL Server CE中的数据同步到桌面数据库SQL Server 2000中去,也就是说SQL Server CE需要和桌面的SQL Server 2000 进行数据交换. 技术要点:SQL Server CE全名是Microsoft SQL Server 2000 Window CE Edition,