利用混编技术对土木工程计算程序的改造

2015-10-21 17:19沈宁
建筑工程技术与设计 2015年26期
关键词:C语言

沈宁

【摘要】本文通过对FORTRAN、C语言和OpenGL图形库进行分析,在此基础上,将三种技术通过动态的链接库结合在一起,实现了对土木工程计算程序的设计,完善其界面。

【关键词】FORTRAN;C语言;OpenGL;混合编程;土木工程计算

通常情况下,土木工程的计算程序都是借助FORTRAN实现的,在运用FORTRAN进行数值的计算过程中,其能够呈现出不同的优势,但是,同时也存在效率不高的问题,而且不能在windows的开发环境中使用,不能建立人机界面,在图形显示中操作流程过于复杂。C语言是在NET平台上开发的,这种程序使用了比较简单的语法,而且便于调试,在程序开发中效率更高。OpenGL是一种图形库,里面都是三维的图形,实现了硬件和软件的结合使用,使用的效果好,在动画绘制中常见,而且能够将图形的绘制与计算机技术以及虚拟现实技术结合,其是一个模型库,运用三维的图像呈现,在不同的平台上都可以使用。其可以实现几何模型的建立,通过渲染的方式实现动画的制作。

一、C语言与FORTRAN的混编

运用C语言能够实现交互性的界面,建立土木工程计算的框架,将之前的FORTRAN的源代码进行编译,形成一个动态的链接库,在此基础上,能够将代码转送到C语言程序上,完成两种不同语言的婚变。可以运用编译器实现文件混合的编程,程序之间应该建立一致的调用程序,建立完善的调用机制。这些机制主要分为堆栈管理机制、命名机制、参数传递机制。在C语言和FORTRAN混编中,应该使两种不同语言的字符参数一直,而且DLL文件能够显示出信息的输出。

(一)字符串参数的一致

在C语言中,字符的结束是运用null数值来表示的,FORTRAN中字符串是在右端设计空格的方式来表示的,运用一个隐藏的参数能够表示字符串的实际长度。而且,FORTRAN的默认的字符是用ASCII编码来表示的,所以,FORTRAN要运用编译器实现中文字符的支持。但是,在C语言中,其字符的编码是通过unicode实现的,所以,在语言层上就能够实现支持中文的字符。通过对不同语言的表示方法的分析,分析了影响因素,如果字符串是通过FORTRAN到C语言,那么,可以在NET网络环境中实现,这时C语言就会自动提供函数字符,将ASCII编码转化成unicode编码。如果字符串是由C语言转化成FORTRAN,就需要运用字符串的长度来实现。

(二)DLL文件内部的提示信息的输出

在大型土木工程计算程序的编程中,运用FORTRAN,会出现PRINT等语句,这类的语句表示程序是运行的,在这些程序改造的过程中,是运用DLL文件和C语言一起应用,结合了windows程序后实现的,所以,输出设备此时不发挥作用。为了能够分析FORTRAN的内部调制问题,就需要在DLL文件中进行信息输出,设计信息的函数,建立一个控制台的窗口,运用PRINT语句建立输出设备。

二、C语言与OpenGL的混编

C语言是运用NET平台进行编程的一类高级的语言,但是,在NET环境中,不能够对OpenGL的接口进行设计,所以,OpenGL中混合C语言,其不能与其他的高级语言一样实现语句的引用和部署,不能够直接的使用OpenGL固有的图形数据库。所以,在C语言中,这类技术要借助第三方的软件才能够实现。

(一)GSGL的动态链接库的分析

GSGL是在windows系统下建立的一类接口,其在C语言中常用。GSGL的动态链接库在使用时是用gldll实现的,形成了不同的类型,在不同的类型中都可以建立OpenGL的标准函数,借助数据库的函数、辅助型的函数等,设计使用函数库和常量。在OpenGL能够生成自动化的定义,通过绘制函数的形式实现了OpenGL场景的定义,在进行场景的初始化和绘制函数中完成两种高级语言的混编。GSGL在进行程序设计中不一定要用到,但是在程序运行阶段其是必不可少的。在对每个空间名称进行函数定义的过程中是经常使用的,而且能够借助GSGL在NET环境中实现对查阅库文件的阅读。

(二)在C语言中对GSGL的OpenGL的引用

在NET环境中形成C语言的应用程序并不复杂,在IDE换种中选择C语言的创建项目,然后打开windows程序,将项目的名称输入,建设保存的位置,点击确定,项目就完成了创建。在项目创建的过程中,建立了空间的名称,而且是以窗口的类型实现的,在应用程序中实现了主入口函数的设计。所以,在建立应用程序框架的过程中,运用程序,要实现对OpenGL的引用,在C语言中借助using关键词实现对不同程序的引用。将OpenGL的绘图功能在C语言的程序得以更好地应用。

(三)建立OpenGL设备的应用环境

在运用OpenGL进行图形的绘制中,应该建立设备环境的绘制,建立一个绘制表面,在所建立的空间名称中加入一个应用,然后再应用中加入很多素材,将这些素材都放在窗口上,实现OpenGL可视化的场景。这样所以的图形都可以在窗口上绘制和修改。

(四)创建OpenGL绘制环境和功能的初始化

在绘制表面建立窗口,能够为OpenGL的运行创作绘制的环境,在OpenGL运行的过程中,其使用的是绘制的环境,而不是设备的环境,所以,要建立完善的绘制环境,不然OpenGL在C语言中是不能执行的。在OpenGL建立一个绘制环境的函数,通过对函数的重写完成绘制环境的创建,建立绘制环境的初始化。

(五)运用OpenGL进行图形和场景的绘制

在以上的操作都完成后,就可以借助OpenGL实现场景的绘制,运用绘制函数,设计源代码,设计单位的矩阵的方式,建立绘制图形的代码。

三、混合编程的实现与应用

本文将三种高级语言进行混合编程,在网络环境下建立语言编译的环境,以windows作为系统操作的平台,在此基础上,借助DOS实现GSAP程序的运行,在windows平台上实现人机界面的交互,建立交互式的软件。这类软件是在原有的程序改造上实现的,运用DLL文件的形式呈现出来,其界面是通过C语言程序编制的,通过建立函数的形式使图形显示出来。在程序的混编中,通过运用DOS平台,实现不同命令的输入和执行,对结果进行查看,在对windows程序进行计算完成后,其计算和模型的图像就会直接显示出来,使用非常得便捷,界面的改造也不复杂。借助三种高级语言的混编能够实现空白动态链接的设计,将源代码进行统一,运用C语言实现windows应用程序的改进,通过窗口的形式展现出来。

结语:

在土木工程计算程序的改造中,将不同的语言结合在一起,采用混编的形式,能够提高土木工程相关参数计算的精确度,完善其计算的效率,在C语言中,字符的结束是运用null数值来表示的,FORTRAN中字符串是在右端设计空格的方式来表示的。

参考文献:

[1]周涛,郭占元,郭向荣. FORTRAN与C#混合编程在土木工程计算中的应用[J]. 山东交通学院学报,2011,01:80-86.

[2]周涛,汪金辉,郭向荣. 利用混编技术对土木工程计算程序的改造[J]. 河北理工大学学报(自然科学版),2011,03:124-129.

[3]覃辉. 测量学教材的便携编程计算解决方案[J]. 高等建筑教育,2011,03:137-142.

[4]楊敏,肖珂. 试论土木工程信息技术的发展趋势[J]. 同济大学学报(自然科学版),2011,11:1346-1351.

[5]黄吉锋,杨志勇,马恩成,张志远,沈文都. 中国建筑科学研究院结构设计软件的发展与展望[J]. 建筑科学,2013,11:22-29.

猜你喜欢
C语言
“新工科”背景下课程思政在《C语言程序设计》课程中的实践
基于C语言的计算机编程技术
“C语言程序设计”课程混合教学探索
浅谈基于C语言的计算机软件编程
基于C语言的计算机软件编程技术探究
中职计算机C语言教学的探讨与研究
中职C语言单片机课堂教学中的趣味性探讨
计算机原理中C语言的应用价值
高职单片机C语言教学三步曲
基于TI C6000系列DSP的C/C++程序优化技术