分类
后端开发 程序设计

基于动态软件体系结构的插件机制原理(C语言实现)

我们说软件体系结构的时候,常常说的是静态的体系结构。众所周知,静态的体系结构在运行的时候是不会发生结构上的变更的。而每当在结构上有变更的时候,比如给软件增加一个新的功能,新的模块,都需要重新编译相关的组件并部署。由于这个部署常常需要重启软件,这给一些软件的运行维护带来了极大的挑战,比如金融类的软件系统,正常情况下不能停止运行,哪怕数秒时间,否则会产生很多麻烦。而通过动态软件体系结构,使用可以“热插拔”的插件,我们就能够实现“给奔跑的汽车换零件”。

分类
数据结构和算法 程序设计

C++ 常用STL库总结

我们在使用C++开发相关软件、实现一些算法的时候,不可避免的会使用到STL标准库,本文对这个标准库常用的几种数据结构和算法库进行了整理。代码样例来自HowieMen,感谢。

分类
操作系统原理 数据结构和算法 程序设计

C语言基于MPI并行计算矩阵的乘法

矩阵的计算是并行计算里的一个很重要的问题。矩阵是一种网格化的数据,是一组同类型数值的集合,矩阵的出现,使得代数系统更完善,对各种实际问题的求解产生了巨大的作用。但是其庞大的计算量往往令人生畏,稍微大一点的矩阵,计算就变得非常繁琐,不仅仅是人,而且串行计算的程序,也同样会变得非常缓慢。这时我们就需要并行计算来解决这些问题了。

本文使用分治思想,利用主从节点方式,实现了一个并行计算的矩阵相乘程序,并将结果跟串行程序做了对比,计算了其加速比。

分类
Python学习 操作系统原理 程序设计

使用C语言和Python基于MPI并行计算PI的值

圆周率PI是一个很神奇的数字,自古以来,包括数学家在内的很多人都曾使用过各种各样的算法去估算PI的真实值,并且都取得了一定的成就。古巴比伦人使用3.125作为PI的近似值,约公元前1700年的古埃及人则提出PI=3.1604,中国的祖冲之(430-501)则使用355/113作为近似值,使得PI值精确到了7位数。随着计算机的问世,以及科学技术发展的需要,PI的近似值目前精确位数早已突破万亿位。PI值除了有其每一位、每两位、每三位都符合均匀分布的统计规律特性之外,还可以用来检测计算机硬件的可靠性,而且,也可以用来入门并行计算。

分类
程序设计

自己整理的几个C++实用函数(陆续更新)

自己学习工作中常用的几个C++函数,跟大家分享出来,我会持续更新,以增加和改进函数的。