按关键词阅读: 教程 编译 中文 链接 UDF FluentUDF
1、第七章 UDF勺编译与链接编写好UDI件 (详见第二章)后 , 接下来则准备编译(或链接)它 。
在7.2或7.3节中指导将用户编写好的UD如何解释、编译成为共享目 标库的UD 。
_第7.1节:介绍_第7.2节:解释UDF第7.3节:编译UDF7.1 介绍解释的UD和编译的UD其源码产生途径及编译过程产生的结果代码 是不同的 。
编译后的UD由C语言系统的编译器编译成本地目标码 。
这 一过程须在FLUEN运行前完成 。
在FLUEN运行时会执行存放于共享库 里的目标码 , 这一过程称为“动态装载” 。
另一方面 , 解释的UDI被编译成与体系结构无关的中间代码或伪码 。
这一代码调用时是在内部模拟器或解释器上运行 。
与体系结构无 。
2、关的代码牺牲了程序性能 , 但其UD可易于共享在不同的结构体系之间 ,即操作系统和FLUEN版本中 。
如果执行速度是所关心的 ,UD文件可 以不用修改直接在编译模式里运行 。
为了区别这种不同 , 在FLUEN中解释UD和编译UDF勺控制面板其形式 是不同的 。
解释UDF勺控制面板里有个“ Compile按钮” , 当点击“Compile按钮”时会实时编译源码 。
编译UDF勺控制面板里有个“Open 按钮” , 当点击“ Oper按钮”时会“打开”或连接目标代码库运行FLUENT(此时在运行FLUEN之前需要编译好目标码) 。
当FLUEN程序运行中链接一个已编译好的UD库时 , 和该共享库相关 的东西都被存放到case文件中 。
3、 。
因此 , 只要读取case文件 , 这个库会 自动地链接到FLUEN处理过程 。
同样地 , 一个已经经过解释的 UDI文 件在运行时刻被编译 , 用户自定义的C函数的名称与内容将会被存放 到用户的case文件中 。
只要读取这个case文件 , 这些函数会被自动编 译 。
注:已编译的UDI所用到的目标代码库必须适用于当前所使用的计算 机体系结构、操作系统以及FLUEN软件的可执行版本 。
一旦用户的 FLUEN升级、操作系统改变了或者运行在不同的类型的计算机 , 必须重新编译这些库 。
UD必须用DEFINES进行定义 , DEFINED的定义是在udf.h文件中 。
因 此 , 在用户编译UDI之前 , udf.h文件必须被放到一个可被找到的路 。
4、径 ,或者放到当前的工作目录中 。
udf.h文件放置在:path/Fluent.lnc用uent6.+x/src/udf.h其中path是Flue nt软件的安装目录 , 即Flue nt.I nc目录 。
X代表了你所安装的版本号 。
通常情况下 , 用户不应该从安装默认目录中复制udf.h文件 。
编译器先在当前目录中寻找该文件 , 如果没找到 , 编译器会自动到/src目录 下寻找 。
如果你升级了软件的版本 , 但是没有从你的工作目录中删除 旧版本的udf.h文件 , 你则不能访问到该文件的最新版本 。
在任何情况下都不应该改变udf.h文件7.2 UDF解释这一节介绍编译经过解释的UDF勺步骤 。
一旦经过解释的UDI被编译 ,用户 。
5、自定义的C函数的名称与内容将会被存放到case文件中 。
只要读 取这个case文件 , 这些函数便会自动被编译 。
编译被解释的UDF勺一般程序如下:1. 如果用户没有在网络 Windows计算机上使用并行的FLUEN版本 , 则 需要确定UDF勺C源码和case文件与当前工作目录一致 。
具体步骤见7.2.2 节 。
!如果源码不在当前工作目录 , 则用户编译 UDF寸 , 用户必须在解释UDF勺控制面板里输入文件的完全路径 , 而不是只输入文件名 。
2. 在当前工作目录下运行FLUENT3. 读取(或建立)case文件 。
4. 打开 “Interpreted UDFs panel ” , 编译 UDF(女如vprofile.c ) 。
6、 。
DefineUser-DefinedFu fictionsInterpreted.Interpreted UDFsSnurce File Hameudfexainiple + cC PP Comm ajid MaineCompileCloseHelp图721解释的UDF勺控制面板(a) 在“Source File Name下输入C源码的文件名(如vprofile.c )!如果自定义的C源码不在工作目录中 , 用户必须输入完全的自定义 的C函数路径 。
当写入case文件时 , 自定义源码的名称(或源码的完全路径)会存放 到case文件中 。
(b) 在“ CPP Comma nd Name指定为C的预处理程 。
7、序 。
当然也有其它有效的ANSI C预处理程序 , 包括gcc -E和cc - E 。
详细检查所用 的计算机系统管理 。
(c) 如果自定义函数局部变量数不引起栈的溢出 , 则保持“StackSize ”的默认值为1000 。
此时 , 所设“Stack Size ”的数要远远大于局部变量用的数 。
(d) 选择“ Display Assembly Listing ” , 则当函数编译汇编码的清单会出现在窗口的控制台内 。
这一选项会保存于case文件 , 当用户接着运行FLUEN时汇编码会自动显示 。
稿源:(未知)
【傻大方】网址:/a/2021/0816/0023746145.html
标题:FluentUDF|FluentUDF中文教程UDF编译与链接