windows用命令行intel编译器编译fortran代码,把读取的文件TEST.DATJ当做资源嵌入可执行文件中
时间: 2024-04-06 19:28:06 浏览: 161
Windows系统下Fortran编程
可以使用以下命令将Intel Fortran代码编译为可执行文件并将TEST.DATJ文件嵌入其中:
ifort /c /Fo:resource.obj resource.f90
rc /r resource.rc
ifort /Fe:executable.exe main.f90 resource.obj
其中,resource.f90是Fortran代码文件,resource.rc是包含资源的Windows资源文件。在编译过程中,首先将Fortran代码编译为对象文件resource.obj,然后使用rc命令将资源文件编译为资源对象文件,最后将主程序main.f90和资源对象文件resource.obj链接为可执行文件executable.exe。可以使用以下Fortran代码来访问嵌入的TEST.DATJ文件:
program main
use ifwinty
implicit none
integer :: hResinfo, hResData, resSize
character(len=256) :: resName = "TEST.DATJ"
character(len=256) :: resType = "DATA"
character(len=256) :: resData
integer :: i
hResinfo = FindResourceEx(hInstance, resType, resName, 0)
hResData = LoadResource(hInstance, hResinfo)
resSize = SizeofResource(hInstance, hResinfo)
resData = c_null_char*(resSize+1)
call MoveMemory(resData, hResData, resSize)
do i = 1, resSize
write(*,*) resData(i:i)
end do
end program
其中,TEST.DATJ是要嵌入的文件名,DATA是资源类型。FindResourceEx函数用于查找资源,LoadResource函数用于加载资源,SizeofResource函数用于获取资源大小,MoveMemory函数用于将资源数据复制到字符数组resData中。
阅读全文