基于VC~++与Fortran混合编程的地质统计学反演算法实现

合集下载

基于Python和Fortran程序实现瞬变电磁法一维反演软件的设计与开发

基于Python和Fortran程序实现瞬变电磁法一维反演软件的设计与开发

TECHNOLOGY AND INFORMATION80 科学与信息化2023年10月下基于Python和Fortran程序实现瞬变电磁法一维反演软件的设计与开发孙大利 李方舟 费靖淇中国地震局第一监测中心 天津 300171摘 要 瞬变电磁方法可以有效地识别地下水分布情况,从而为地下城市空间科学安全的开发利用提供有力的帮助。

为了降低瞬变电磁法数据处理分析的使用门槛,使非专业人员能够快速分析瞬变电磁探测数据,本文基于Python和Fortran语言实现瞬变电磁法中心回线系统一维Occam反演软件核心算法和交互界面的设计开发,简化了专业处理流程,更高效地发挥了瞬变电磁法探测在城市地下空间开发中的辅助作用。

关键词 Occam反演;应用软件;地下空间Design and Development of One-Dimensional Inversion Software for Implementing Transient Electromagnetic Method Based on Python and Fortran Programs Sun Da-li, Li Fang-zhou, Fei Jing-qiThe First Monitoring and Application Center of China Earthquake Administration, Tianjin 300171, ChinaAbstract Transient electromagnetic method can effectively identify the distribution of groundwater, so as to provide powerful help for the scientific and safe development and utilization of underground urban space. In order to reduce the threshold of use of transient electromagnetic data processing and analysis, and enable non-professionals to quickly analyze transient electromagnetic detection data, this paper implements the design and development of the core algorithm and interactive interface of the one-dimensional Occam inversion software for implementing transient electromagnetic method central loop system based on Python and Fortran language, simplifies the professional processing process, and plays the auxiliary role of transient electromagnetic detection in the development of urban underground space more efficiently.Key words Occam inversion; application software; underground space引言近年来随着城市化的不断发展,城市规模的不断扩大,地上有限的空间资源难以满足人们日常生活、工作的需求。

C_与Fortran混合编程在多点地质统计建模中的应用

C_与Fortran混合编程在多点地质统计建模中的应用

C++与Fortran混合编程在多点地质统计建模中的应用冯文杰,尹艳树,毛 锐,石书缘(长江大学地球科学学院,湖北荆州 434000) 摘 要:本文结合For tran强大的科学计算能力的特点和C++良好的人机交互功能,首次利用C+ +为石油领域最新的多点地质统计学方法(Snesim)开发出界面友好、操作方便的界面,并将Fo rtran语言编写的Snesim封装为动态库(DLL),利用界面直接调用动态库,完成C++与Fortran的混合编程,使得Snesim方法人机交互简单易行,克服了Snesim方法人机交互方面的弱点,同时弥补了目前商用软件没有Snesim的缺陷。

方便了Snesim在石油行业的普及应用。

关键词:多点地质统计学;Snesim;动态链接库;混合编程 中图分类号:P628+.5 文献标识码:A 文章编号:1006—7981(2010)18—0001—03 多点地质统计学是石油行业最新发展的地质建模方法,它使用训练图像进行模拟,克服了基于象元的方法难于对地质体进行参数化的问题,同时采取序贯算法,克服了基于目标的方法(采取迭代算法)过多占用机时的问题,备受地质统计学家的青睐。

成为目前世界石油地质统计建模的中心[1-4]。

国内有不少学者对其进行了研究[5-8]。

但由于其界面仍然为DOS界面,界面不友好,参数解释困难。

而现有的商用软件虽然有成熟的人机交互界面,但受制于多点统计方法的复杂性,并没有包括多点地质统计模块。

这极大地阻碍了多点地质统计学的普及和应用。

本文首次利用C++为石油领域最新的多点地质统计学方法(Snesim)开发出界面友好、操作方便的界面,并将Fo rtran语言编写的Snesim封装为动态库(DLL),利用界面直接调用动态库,实现了多点地质统计方法界面化,使得Snesim方法人机交互简单易行,克服了Snesim方法人机交互方面的弱点,同时弥补了目前商用软件没有Snesim的缺陷。

VC++与Fortran混合编程实现方法

VC++与Fortran混合编程实现方法
!&& % 年 % 月




第 ! 期
)*++ 与 08?.?-> 混合编程实现方法
/01!
5 6
234!
针对 )*++具有面向对象特征和开发图形界面方面的强大功能以及 08?.?-> 语言在数值计算方面的优势, 介绍了 )*
++和 08?.?-> 混合编程的实现方法。 789 )*++ 08?.?->
qrstQu!"56,d.vfgNOC ;wxN OA-W <=J443? oy:lzn > HNT:!"B-{"| 56:QuCXY3qLr:}~CM]^_‘:!" qstQu56< :AC w 4 )*++e4|h7C,dMQXY ~2 3eDNO!"56 (-.-/(-. : *++fgI
万方数据
0D9A9RS :st!"56<AC d M4|heCL ¡.¢c£w¤¥¦ ! " # $ # §¨© / !&&&/ ! ²³´ / fgµ¶h 0D9A9RSUU/ ­®I@·¬¸¥ °±C#TVW/ $ ¹º» / ¼½¾¥ X0*/ ¿­IÀÁÂÃÄÅÆÇÈÉ 8ÊËÌC#TTU/ 48?.?->T& ª«¬f / ­®I ­®¯ª¥°±C
A"BC%4&
)*++
08?.?->
X1’3([2->HJ-H3 \?8H?-771>H ðñÐ-:ò56íî^@°ëCÓ 08?.?-> :ò56óâ zôC¤õö÷øùúûCüvC4 )*++Y/& wý.vÒ ÍÓ 08?.?-> :ÔÖ #/! ×Øþÿáßò BGG :ÔÖ þÿáßò BGG Üt×Ø C1>(8ZM :fg !" C¢ w#dM$% däYÚÏC ý8!"C & tÆÙ ¡. BGG :þÿáß ’wSòÚÏ () C £4fg7*+ *!:½+,ùß + C4fgäYR- SÚÏ . ½E/ C

VC++和FORTRAN混合编程在阵列感应数值模拟软件中的应用

VC++和FORTRAN混合编程在阵列感应数值模拟软件中的应用

2 混合 编 程 需解 决 的 问 题
混合 语言 编程 涉及 一种 语 言对用 另一 种语 言编写 的函 数 、 程 或 者 子 过 程 的 调 用 。 本 文 中 C C + 过 / + 和 F r a 合编 程 主要是 C C + 序调 用 F r a o rn混 t /+ 程 ot n的过程 r
阵 列 感 应 测 井数 值 模 拟 软 件 的 开发 。
关 键 词 :混合 编程 ; 态链 接 库 ;阵 列 感 应 响 应 动
中 图 法 分 类 号 : 6 18 P 3 . 1 文 献 标 识 码 :B 文章 编 号 :10 —14 2 1 )30 7 —3 0 49 3 (00 0 0 90




・7 ・ 9
21 00年

第2 4卷
第 3期
P T E ROL UM NS E I TRU MEN S T
计算 机与 通讯 技术 ・
V +和 F R R N混合 编程 在 C+ O T A 阵列感应数值模拟软件 中的应 用
胡亚鹏 朱东华 郭小宾 李玉芝 李 影 冯光辉
() 2 函数命 名 的一致 性 ;
V sa C + 生 成 D L文件 中过 程 实 施 调 用 的混 合 编 i l+ u 对 L 程 实现 阵列感 应 测井数 值模 拟 软件 的开发 。
( ) 数 的正确传 递 , 3参 标量 参数 和矢 量参数 ; ( ) C+ 4 V +调用 F r a 生 成 的动态 链接 库 ( L ) o rn t D L。
2 1 调用 约定 一致 性 .
1 阵列感应 响应计算 技术
阵列 感应 响应 计算技 术 在 阵列感 应测 井研 究 中起 着非 常重 要 的作用 , 它是 仪 器 设 计 , 号 合 成 处理 , 信 反 演 和测 井 响应异 常解 释 的基 础 。 目前 为 止 , 列 感应 阵

Linux环境中Fortran与C混合编程方法研究

Linux环境中Fortran与C混合编程方法研究

第 29 卷 第 9 期 计算机工程与设计Computer Engi neering and Design2008 年 5 月 May 2008Vol . 2 9No . 9Linux 环境中 Fortran 与 C 混合编程方法研究亓雪冬 1, 仝兆岐 1, 何潮观 2(1. 中国石油大学 地球资源与信息学院,山东 东营 257062;2. 胜利油田物探研究院,山东 东营 257022)摘 要:在 Linux 系统中存在大量优秀的 Fortran 和 C 的源代码和程序库,为有效的利用这些软件资源,发挥不同语言各自的优势,探讨了 4 种混合编程方法— — 基于外部数据混编、基于 CORBA 混编、基于 f2c 混编、基于 cfortran 混编,并论述了各方法 的基本原理、实现步骤,比较了各方法的优缺点和适用范围。

关键词:混合编程; 编程语言; 源码转换工具; 组件; 通用对象请求代理 中图法分类号:TP311.52文献标识码:A文章编号:1000-7024 (2008) 09-2378-03Study on mixed Fortran and C programming in LinuxQI Xue-dong 1, TONG Zhao-qi 1, HE Chao-guan 2(1. College of Geo-resources and Information, China University of Petroleum, Dongying 257062, China;2. Geophysical Prospecting Research Institute of Shengli Oilfield, Dongying 257022, China ) Abstract :There are many good Fortran, C source code and libraries in Linux. In order to reuse these software resources an d make use of the two languages together effectively, four methods of mixed Fortran and C language programming in Linux system are discussedwhich are external data, CORBA, f2c and cfortran. Then the principle, the processes, the merit and flaw of these methods are analy sed and contrasted.Key words :mixed-pro grammin g; programming lan guage; source code converter; component; CORBA的 Fortran PowerStation 和 VB, VC, Delphi, C++ Builder 之间的混合编程研究。

基于混合高斯先验分布的地质统计学反演

基于混合高斯先验分布的地质统计学反演

第33卷第3期2021年6月岩性油气藏LITHOLOGIC RESERVOIRSV ol.33No.3Jun.2021收稿日期:2020-03-04;修回日期:2020-08-17;网络发表日期:2020-11-11基金项目:中国石油天然气股份有限公司勘探与生产分公司项目“消除强波阻抗地震响应对围岩反射特征影响的方法研究”(编号:kt2020-10-04)资助作者简介:贺东阳(1991—),男,硕士,主要从事地震储层预测和软件开发方面的研究工作。

地址:(730020)甘肃省兰州市城关区雁儿湾路535号。

Email :********************.cn 。

文章编号:1673-8926(2021)03-0113-07DOI :10.12108/yxyqc.20210311引用:贺东阳,李海山,何润,等.基于混合高斯先验分布的地质统计学反演.岩性油气藏,2021,33(3):113-119.Cite :HE D Y ,LI H S ,HE R ,et al.Geostatistical inversion based on Gaussian mixture prior distribution.Lithologic Reservoirs ,2021,33(3):113-119.基于混合高斯先验分布的地质统计学反演贺东阳,李海山,何润,王伟(中国石油勘探开发研究院西北分院,兰州730020)摘要:传统的地质统计学反演利用地质统计学模拟算法来构建模型参数的先验信息,然后在地震数据的约束下利用优化算法来获得模型参数的后验解,通常忽视了岩性对模型参数的影响并且在优化过程中计算量大。

为此,将模型参数的先验分布表示为受离散岩性影响的混合高斯分布,将线性混合高斯反演理论与地质统计学的序贯模拟相结合,最后通过序贯采样的方法直接获得模型参数和离散岩性的后验解,避免了优化求解过程,且反演结果具有较好的空间连续性和稳定性。

第11章 Fortran和C的混合语言编程-授课版

第11章 Fortran和C的混合语言编程-授课版

约定,C被调用的函数名nAme在其obj文件中保持混合大小写,以
_nAme@n的形式出现在obj文件中。Fortran的接口块用如下!MS$ ATTRIBUTES编译伪指令说明: :
!MS$ ATTRIBUTES STDCALL, ALIAS:'_nAme@n':: NAME
对应的C语言源程序中,用如下语句说明函数Sum使用_stdcall约 定且用于文件外部: extern int _stdcall Sum(int *p1, int *p2);

一.Fortran调用C语言函数 参数的调用约定
Fortran缺省参数传递为引用传递,若在外部例程中施加 了C或STDCALL调用约定,则缺省的引用传递改为值传递 (数组参数除外)。为了消除调用约定对参数传递的影 响,可以在外部例程中添加具体的参数传递属性( REFERENCE 或VALUE)声明。

第一节
二.Fortran和C的混合编程方式 分别编译、独立运行
概述
将Fortran和C各自要实现的功能模块源代码在各自的开发平台上编译连接成 可执行文件并独立执行,二者的数据通过数据文件交换。这种模式的实现最 为简单,容易掌握,但执行效率较低;
函数级调用

二.C 调用Fortran语言例程
* 对 于 C 语 言 , 要 在 源 程 序 中 对 所 调 用 的 Fortran 例 程 使 用 extern关键字说明该例程来自外部,extern和函数说明中间加 上_cdecl或_stdcall说明调用约定的属性。 * 如果Fortran例程使用缺省方式的调用约定(即不加任何说明 ),它被C调用的函数/例程名在其obj文件中全转化为大写。此 时C在声明所调用的Fortran外部例程原型时,无论采用何种调 用约定,例程名必须大写。

VC与Fortran混合语言编程

VC与Fortran混合语言编程

VC 与Fortran 混合语言编程 肖晓玲,卢正鼎 (华中理工大学计算机科学与技术学院,湖北武汉430074) 张 翔 (江汉石油学院地球物理勘探系,湖北荆州434102)[摘要]V C 与Fortran 混合语言编程时,按调用方式与实现的不同,调用约定主要采用C 与STDCALL 属性的调用约定。

命名约定一般使符号名表现为纯大写的名称、纯小写的名称或混合书写形式名称。

不同语言之间参数数据的传递主要通过:①调用变量参数列表;②数据、过程模块结构;③将变量声明为公用、外部和全局类型这3种方式来实现。

采用V C 与Fortran 混合语言编程设计了大地电磁测深一维交互式解释系统。

[关键词]程序设计方法;Fortran ;V C 混合语言[中图分类号]T P 311111[文献标识码]A [文章编号]10009752(2000)02007104混合语言编程是采用2种或2种以上的编程语言组合编程,彼此相互调用,进行参数传递,共享数据结构及数据信息,从而形成一种程序实体的过程,也称为程序接口。

在软件编制和开发工作中,如果开发的软件规模较小,具有较简单的科学计算或数据处理,那么,只选择一种高级语言或者数据库语言来编程是可行的;然而,对于要开发功能很强、规模很大的大型应用软件,并且软件中既具有大量数据处理,又具有大量科学计算,甚至具有较强的实时功能的系统来说,采用单一的高级语言很难完成预期的计划和功能,而且在编程中也遇到很大的麻烦。

因为各种语言都有其长处,也有其局限性,一种语言鞭长莫及之处,正是另一种语言的驾轻就熟之区。

集各语言之精华,扬长避短,就可以大大提高系统的效率、功能和灵活性。

Fortran 语言是流行较广的适用于科学计算的高级语言,其标准化程度高,便于程序交换,较易优化,拥有高精度的数据结构与运算结构。

而V isual C ++与硬件底层打交道具有强大优势,便于图形系统的开发,已成为W indow s 系统平台上最强大的应用程序开发系统之一。

基于VS2008和IVF11的C C++和Fortran混合编程

基于VS2008和IVF11的C C++和Fortran混合编程

基于VS2008和IVF11的C/C++和Fortran混合编程By X.C. Li(lxc1975@)调用时,先将有Fortran写出来的函数建立成动态库,然后在C++程序中连接这个动态库,连接的方式有显示和隐式两种。

本文提及的仅限于隐式连接。

C/C++编译器:MSVS2008(VC9),对VS2005也适用。

Fortran编译器:Intel Visual Fortran Compiler 11.0,IVF的其它版本也适用。

操作系统:Win7。

1. 建立Fortran动态库1.1 用IVF建立一个dynamic-link library项目,比如项目名为FortranDLL。

在项目中新建f90代码文件,比如文件名为FortranSrc.f90。

在FortranSrc.f90中写下如下代码:double precision function addF(x, y)!DEC$ ATTRIBUTES DLLEXPORT, STDCALL:: addF!DEC$ ATTRIBUTES VALUE::x, yimplicit nonedouble precision x, yaddF = x + yreturnend function addF1.2 说明:1)Fortran不区分大小写,代码的大小写纯粹是为了可读性。

2)!DEC$ ATTRIBUTES DLLEXPORT, STDCALL::addF。

首先,这一行中的“!”并非注释的意思。

行中的STDCALL(它被叫做调用约定)不能少,否则C++程序(这里说的是C++调用时)编译时,会报错为:无法连接addf函数。

之所以提醒这一点,是因为在早期的版本中缺省就是STDCALL,所有可有可无。

如果你按照早前的资料去做的话就不行了。

不同的编译器以及在不同的操作系统上其缺省的值不一样,为了稳妥或程序的可读性,将调用约定显式写出来比较好。

3)对!DEC$ ATTRIBUTES VALUE::x, y的解释。

基于MATCOM 平台的VC++与MATLAB混合编程地震正演模拟(完整版)

基于MATCOM 平台的VC++与MATLAB混合编程地震正演模拟(完整版)

基于MATCOM 平台的VC++与MATLAB混合编程地震正演模拟摘要:正演模拟是地震勘探的重要方法之一。

为解决基于Matcom4.5的VC++与Matlab接口程序的地震正演模拟问题,通过用Matcom4.5与VC++结合编程的新方法实现EDA介质中的地震波正演模拟的实例,结果显示通过Matcom实现VC++与Matlab混合编程的可行性并提高了编程效率。

关键词: Matcom;VC++; Matlab;混合编程;正演模拟MIXED PROGRAMMING OF SEISMIC FORW ARD MODELING BETWEEN VC++Abstract: Forward modeling is one of the important means in seismic exploration. This paper in order to solve the interface program of seismic forward modeling between Matlab and VC++ based on Matcom4.5,by using an example which achieved the results of simulate the wave equation in EDA media by a new method which is mixed programming between Matcom4.5 and VC++,the results show the advantage of efficiency by mixed programming between Matlab and VC++ based on Matcom4.5.Keywords: Matcom;VC++;Matlab;Mixed programming;Forward modeling0引言近年来,随着勘探程度深入化和勘探目标的复杂化,地震勘探无论在采集、处理还是解释技术方面都面临越来越多的挑战。

C++与Fortran混合编程在多点地质统计建模中的应用

C++与Fortran混合编程在多点地质统计建模中的应用

C++与Fortran混合编程在多点地质统计建模中的应用
冯文杰;尹艳树;毛锐;石书缘
【期刊名称】《内蒙古石油化工》
【年(卷),期】2010(036)018
【摘要】本文结合Fortran强大的科学计算能力的特点和C++良好的人机交互功能,首次利用C++为石油领域最新的多点地质统计学方法(Snesim)开发出界面友好、操作方便的界面,并将Fortran语言编写的Snesim封装为动态库(DLL),利用界面直接调用动态库,完成C++与Fortran的混合编程,使得Snesim方法人机交互简单易行,克服了Snesim方法人机交互方面的弱点,同时弥补了目前商用软件没有Snesim的缺陷.方便了Snesim在石油行业的普及应用.
【总页数】3页(P1-3)
【作者】冯文杰;尹艳树;毛锐;石书缘
【作者单位】长江大学地球科学学院,湖北,荆州,434000;长江大学地球科学学院,湖北,荆州,434000;长江大学地球科学学院,湖北,荆州,434000;长江大学地球科学学院,湖北,荆州,434000
【正文语种】中文
【中图分类】P628+.5
【相关文献】
1.C/C++与FORTRAN混合编程技术及其应用研究 [J], 周谧
2.Visual C++与Fortran混合编程及Matcom绘图在空调负荷计算软件中的应用
[J], 顾小松;王汉青
3.多点地质统计学在秘鲁D油田地质建模中的应用 [J], 张伟;林承焰;董春梅
4.基于VC++与Fortran混合编程的地质统计学反演算法实现 [J], 齐国亮
5.多点地质统计学中训练图像优选方法及其在地质建模中的应用 [J], 王立鑫;尹艳树;冯文杰;段太忠;赵磊;张文彪
因版权原因,仅展示原文概要,查看原文内容请购买。

混合编程c++与Fortran

混合编程c++与Fortran

1.VS2008+INTELfortran.Fortran为主程序,调用c++函数2.VS2008的设置(1)在已有的fortran工程的解决方案中添加新的c++工程:解决方案可以有好多工程;但是每个工程只能是单独计算机语言的工程,即fortran用fortran建立工程,c++用c++建立工程。

设置解决方案中,各个工程之间的依赖关系。

(2)混合编程的几种方法:c++源文件编译为目标文件与fortran链接合成;c++源文件编译为库文件,然后fortran链接的时候将该库加入。

2.设置runtimelibrary:Multithreaded;而d e bug模式中,r untime library竟然是:M u ltithreaded DLL然能链接通过。

换M u ltithread 和M u ltithreaded DLL 竟的候有而且时,出错交3. 设置项目依赖关系:项目-》项目依赖项3)链接选项(以c++为静态链接库为例)如图库,下接(1)构建或改变c++工程为静态链(2)在主较多:设置比要程(f o rtran工程),需工设置l inker里面附加库(a d ditionary library)的目录和库名称linker-》additionay Library directory设置为:F:\LBM_MOVING_INTER2_FLEXIBLE\LBM_MOVING_INTER2_FLEXIBLE\Release(c++编译为静态库,库所在的目录)\称设置名:库的加附F:\LBM_MOVING_INTER2_FLEXIBLE\LBM_MOVING_INTER2_FLEXIBL E\Release\beamcpp.liblinker-》input-》a ddtionary dependencies:F:\LBM_MOVI NG_INTER2_FLEXIBLE\LBM_MOVING_INTER2_FLEXIBLE\Release\beamcpp.lib4)源程序c++函数的f ortran接口fortran为主程序,即program main{implicit noneint::i,jdoubleprecision,dimension(20)::p.....call GETBEAMDV(i,j,p...)}c++程序中#include <assert.h>#include <iostream>#include <fstream>#include <string>class myclass{...};extern "C"{void GETBEAMDV(int* ,int*,double*);}void GETBEAMDV(int* MM,int*kk,double* Pld){.....return;};几点注意:(1)ifort 编译后(fortran源程序),其函数名为大写名称前方加底横线:如“_GETBEAMDV”(2)VISUAL C++编译后(c++源程序),其函数名也为大写名称前方加底横线:如“_GETBEAMDV”因此,只需相同名称就可以了,比codeblock简单些!!!另外,为了使程序在codeblocks 和 vs2008一致,可在vs2008中进行设置,包括c++和fortran工程中添加编译和链接选项分别为:简单在vs2008的fortran工程中添加编译选项:/names:lowercase增只要加“_”的话这样call getbeamdv(i,j,p...) !!getbeamdv_((i,j,p...))用于intel fortran 编译(编译选项添加/names:lowercase,具体参见vs2008+ifort)。

VC++结合Fortran升级地质统计学算法

VC++结合Fortran升级地质统计学算法

VC++结合Fortran升级地质统计学算法李君;李少华;毛平;陈玉琨【摘要】介绍了Fortran程序制作成动态链接库(DLL),在VC++中具体调用的方法.利用VC++良好的界面,结合Fortran成型的地质统计学算法,编写出简单的、利于用户操作的应用环境.【期刊名称】《物探与化探》【年(卷),期】2009(033)006【总页数】3页(P715-717)【关键词】VC++;Fortran;地质统计学【作者】李君;李少华;毛平;陈玉琨【作者单位】长江大学,油气资源与勘探技术教育部重点实验室,湖北,荆州,434023;长江大学,地球科学学院,湖北,荆州,434023;长江大学,油气资源与勘探技术教育部重点实验室,湖北,荆州,434023;长江大学,地球科学学院,湖北,荆州,434023;新疆油田分公司,重油开发公司,新疆,克拉玛依,843000;中国石油大学,资源与信息学院,北京,102249【正文语种】中文【中图分类】TP302.4;P631斯坦福大学编写的地质统计学算法库(GSLIB)用Fortran语言编写,其中包含了变差函数、克里金和随机模拟的大部分成熟算法[1]。

虽然Fortran语言具有很强的科学计算能力,但Fortran语言在大多数时候是以参数文件的形式进行交互式的输入,结果也是文件的形式存储,那么图形就必须借助其他程序或软件来显示,没有VC++那样良好的用户界面及简单的图形化显示[2]。

VC++作为可视化编程语言,比Fortran应用广泛。

鉴于此,许多程序员对VC++和Fortran成熟算法进行了很好的结合[3-4]。

笔者介绍了动态链接库的做法,并在VC++中具体调用的方法,在其中加入了变差函数、克里金插值、高斯随机模拟、布尔模拟和基于目标的层次模拟。

动态连接库(dynamic link library,简称DLL)是一种基于Windows的程序模块,能被多个进程共享使用,通用性很强。

基于VC和Fortran混编在储层地质统计分析系统的应用

基于VC和Fortran混编在储层地质统计分析系统的应用

基于VC和Fortran混编在储层地质统计分析系统的应用张秀国;王家华;王红霞
【期刊名称】《福建电脑》
【年(卷),期】2006(000)001
【摘要】由于工作站版本的储层地质统计分析系统GASOR核心部分代码是用Fortran语言编写的,随着Windows成为主流操作平台,如何准确无误地将这些Fortran代码移植到微机上,成为一个必须解决的问题.在此背景下,本文提出采用基于动态链接库技术,来解决Fortran和VC之间的混合编程问题.论述了Windows 中的动态链接库的实现原理,从调用规范、数据交换与访问以及数据类型等方面系统研究了Fortran和VC的混编问题,并提出了具体的解决方案.
【总页数】2页(P160-161)
【作者】张秀国;王家华;王红霞
【作者单位】西安石油大学计算机学院软件研究所,陕西,西安,710065;西安石油大学计算机学院软件研究所,陕西,西安,710065;西安石油大学,陕西,西安,710065【正文语种】中文
【中图分类】TP3
【相关文献】
1.组件对象技术在"储层地质统计分析系统GASOR"开发中的应用研究 [J], 王家华;潘少伟
2.基于工作流技术的储层地质统计分析系统的研究 [J], 曲小纳;韩家新
3.基于COM的储层地质统计分析系统的设计与实现 [J], 王家华;张秀国
4.基于多agent的分布式储层地质统计分析系统的研究 [J], 王湘波;王家华
5.基于VC++与Fortran混合编程的地质统计学反演算法实现 [J], 齐国亮
因版权原因,仅展示原文概要,查看原文内容请购买。

基于C#与Fortran混合编程的复杂角域地形影响计算

基于C#与Fortran混合编程的复杂角域地形影响计算
( 1 . De pa r t me n t o f Ge o l o g y a n d S u r v e y i n g,S h a n x i En e r g y I n s t i t u t e ,Xi a n y a n g S h a n xi 7 1 2 0 0 0 ,Ch率 , 降低使 用其 他语 言重新
开发 的难 度并 减 少 劳 动量 , 一 般 采 用 混 合 编程 的
方法 充分 利 用 C#和 F o r t r a n各 自的 优 点 , 制 作 既具 有高 效计算 能 力又具 有 友好界 面 的计算 机程
序E 。
( 1。 陕西能源职业技术学院
地质测量系 , 陕西 咸 阳 7 1 2 0 0 0 ; 蓝天检测公司 , 北京 1 0 0 0 9 8 ;
2 . 中航勘察设计研究院有限公司 3 . 西北综合勘察设计研究院
, 陕 西 西安 7 1 0 0 0 3 )
摘 要 :电法勘探在资源勘查、 环境调查等方面利用广泛, 但勘探过程受地形影响严重。本文利用解析法以
d o i : ' 1 0 . 3 9 6 9 / j . i s s n . 1 6 7 2 —7 9 4 0 . 2 0 1 5 . 0 2 . 0 1 2
基于 C 撑与 F o r t r a n混 合 编 程 的 复 杂 角 域 地 形 影 响 计 算
辛 会 翠 ,耿 嘉 楠 ,徐 志 敏。 ,王 国方
第 1 2卷 第 2期
2 0 1 5年 3月
工捏 球物 告 旅
CHI NES E J 0URNAL 0F ENGI NEE RI NG GEOPHYS I CS
Vo 1 .1 2. NO. 2 Ma r .。2O1 5

FORTRAN和C的混合编程及时间统计

FORTRAN和C的混合编程及时间统计

FORTRAN和C的混合编程及时间统计
文尚猛;李晓梅
【期刊名称】《电脑编程技巧与维护》
【年(卷),期】1996(000)003
【摘要】一、混合编程 FORTRAN语言诞生于1954年,由于当时各种主客观条件的限制,设计的不太完美,虽然后来作了不少改进,但其缺陷还是很多,如FORTRAN
语言的数据结构种类少、语句的格式呆板、控制结构不灵活、编译器的灵活性差和不支持图形(现在有些FORTRAN版本支持图形)等等。

尽管如此,由于它很早就是
国际上广泛流行的计算机语言之一,占领了相当广泛的用户市场,既使在今天,科学计算市场主要还是被FORTRAN所主宰。

C语言诞生于1972年,由于其独特的优点。

【总页数】2页(P22-23)
【作者】文尚猛;李晓梅
【作者单位】不详;不详
【正文语种】中文
【中图分类】TP311
【相关文献】
1.C++与Fortran混合编程在多点地质统计建模中的应用 [J], 冯文杰;尹艳树;毛锐;石书缘
2.Fortran与的混合编程 [J], 胡文清;詹杰民
3.基于VC++与Fortran混合编程的地质统计学反演算法实现 [J], 齐国亮
4.基于VB和FORTRAN混合编程的时程曲线绘制 [J], 刘银芳;蒋益新;黄鹏;
5.基于FORTRAN与DELPHI混合编程的型材库设计 [J], 宋喜庆;孙牧;高翔宇;刘瀛昊;张韩西子
因版权原因,仅展示原文概要,查看原文内容请购买。

VC++与Fortran的混合编程

VC++与Fortran的混合编程

VC++调用Fortran子程序VC++友好的界面制作和Visual Fortran强大的计算和数据处理功能,两者结合可开发行程界面友好、操作直观方便、功能强大的应用程序。

如何进行VC++调用VisualFortran子程序模块,就成了需要解决的问题。

1、VC++调用FORTRAN子程序的方式(1)同一工程包含VC++和Fortran语言文件对同一版本集成后的编译器可以根据不同的扩展名选择编译方式,生成目标代码文件.OBJ,然后按照指定的调用方式进行链接,生成可执行文件.EXE。

(2)VC++工程文件引用Fortran语言生成的.OBJ或.LIB文件对不同版本的编译器安装集成后,VS不会自动根据文件扩展名选择编译方式,这时需用不同的工程文件。

首先对Visual Fortran 建一工程文件,生成.OBJ文件或.LIB文件,然后在VC++工程中按照指定的调用方式进行调用,编译链接,生成可执行文件.EXE。

(3)VC++工程文件调用Fortran语言生成的.DLL将已有的Fortran程序生成dll模块,有利于移植和修改,可提高效率,这样即使原dll模块中的算法做过修改,只要保证函数或子例行程序名字和入口参数不变,主调用过程无须进行重新修改或者编译。

2、VC++中的声明在C++语言中调用Fortran的函数或模块,必须在C++语言的函数名前面冠以_s td call或_cdecl关键字申明调用方式,以便编译器按照约定方式进行正确的参数传递,包括参数传递顺序、参数传递方式、堆栈处理和命名修饰等问题。

C++语言调用Fortran模块的声明:extern “C” {void _stdcall SUBROUTINE(形式参数1,float TC[],float PC,……);float _stdcall FUNCTION(形式参数1,float TC[],float PC,……); } 或extern “C” {void _cdecl SUBROUTINE(形式参数1,float TC[],float *PC,……);float _cdecl FUNCTION(形式参数1,float TC[],float *PC,……); } 其中TC为数组变量。

C、C++、Fortran混合编程技术研究与问题处理

C、C++、Fortran混合编程技术研究与问题处理

C、C++、Fortran混合编程技术研究与问题处理【摘要】通过对C、C++、Fortran不同语言混合起来进行编程,利用各自在数字计算和可视化应用等方面的优势,达到优势互补,并对在C、C++、Fortran 混合编程中经常遇到的一些问题及其处理方式进行研究,如字符串处理、文件读写处理、函数调用、数据结构的存储等。

【关键词】C;C++;Fortran;混合编程;字符串;文件读写;函数调用对C、C++、Fortran不同语言混合起来进行编程,利用各自的优势,弥补各自功能的不足,如FORTRAN语言具有强大的科学数字计算功能,但绘图功能不强;而C、C++语言计算功能不强,但它具有良好的移植性和较强的图形功能,可将计算方式转变为数据输入简易、结果显示方便的Windows可视化应用程序,因此,在许多情况下,我们应该使用C、C++、Fortran等进行混合编程。

在既要大量计算,又要图形处理的开发环境中,可以通过混合编程,达到优势互补。

1.混合编程开发平台及编译开发环境的选择Fortran语言没有大小写之分,而Windows平台下的混合语言编程过程中大小写问题十分突出。

考虑到编译器的差异,可以用以下方式进行跨平台编程的函数声明。

C、C++编译器使用MicrosoftVisualC++6.0编译集成开发环境,Fortran 编译器使用DigitalVisualFortran6.0编译集成开发环境。

VC++与FORTRAN的语言编译器同出自微软家族,且使用同一操作平台,因此在它们两者之间进行混合编程是完全可以实现的,但是必须充分考虑两种语言之间的接口问题,即在存储模式、语言约定、数据处理以及例程单位等方面的一致性问题。

存储模式的一致性。

存储模式是指编译器应遵循的某种规则,这种规则是把程序的代码和数据装入存储器段中的一套预先制定的规则,它定义了编译器将代码和数据组织分段的方法,同时也规定了访问每段中代码和数据的寻址方法。

地震资料极化分析及MATLAB与VC++混合编程技术

地震资料极化分析及MATLAB与VC++混合编程技术

地震资料极化分析及MATLAB与VC++混合编程技术
刘国华;肖梅;李庆春
【期刊名称】《地球科学与环境学报》
【年(卷),期】2008(30)3
【摘要】介绍了地震资料极化分析基本原理,针对其软件编制中的复杂计算及3D 图形显示问题,利用MATLAB与VC ++ 语言混合编程技术使极化分析软件编制变得简单高效.结果表明,极化分析技术可以有效地进行地震资料去噪,提高地震记录信噪比.通过MATLAB和VC ++ 的协同工作,极化分析计算效率更高,人机交互性更好.【总页数】6页(P305-310)
【作者】刘国华;肖梅;李庆春
【作者单位】长安大学,地质工程与测绘学院,陕西,西安,710054;长安大学,电子与控制工程学院,陕西,西安,710064;长安大学,地质工程与测绘学院,陕西,西安,710054【正文语种】中文
【中图分类】P631.4;TP311
【相关文献】
1.VC++与MATLAB混合编程技术在生物电阻抗断层图像重建中的应用 [J], 李达;陈晓艳;王化祥
2.Matlab与VC++混合编程技术在图像处理中的应用研究 [J], 李卓;李益民
3.基于Mideva编译器的MATLAB与VC++混合编程技术 [J], 柴西林;姜丽德;冯凯
4.VC++与Matlab混合编程技术在数字地震信号处理软件中的应用 [J], 吴宝峰;
闫峰
5.Matlab与VC++混合编程技术在图像处理中的应用研究 [J], 李卓;李益民因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档