C/C++;而NMBGF写二进制文件在ENDF之前加盖intel标记

C/C++;而NMBGF写二进制文件在ENDF之前加盖intel标记,c,intel,binaryfiles,C,Intel,Binaryfiles,我使用部分NMGF库(从下载)以NMBGF二进制格式输出griddata。我使用MSVS 2013,并安装了Intel并行Studio Cluster Edition 2016。 我基本上只使用NMGF库的几个部分将节和数据输出到二进制文件(使用NMBF库中的以下函数:NMBGF\u PutStandardSectionProlog和NMBGF\u PutInteger,以及NMBGF\u CreateOutputContextAttachedToFile2、NMBGF\u PutGRIDSec

我使用部分NMGF库(从下载)以NMBGF二进制格式输出griddata。我使用MSVS 2013,并安装了Intel并行Studio Cluster Edition 2016。 我基本上只使用NMGF库的几个部分将节和数据输出到二进制文件(使用NMBF库中的以下函数:
NMBGF\u PutStandardSectionProlog
NMBGF\u PutInteger
,以及
NMBGF\u CreateOutputContextAttachedToFile2
NMBGF\u PutGRIDSection
NMBGF\u EndWritingOutputFile
)。写入文件似乎一切正常。 我以前只经历过这种情况

ENDF

放在文件末尾(发生在
NMBGF\u EndWritingOutputFile
中)也放以下字符

l S W t o l S\t r a e a l y z e r a n d c o l e o r

长度不同(有时比其他时间缺少更多字符)。 (我使用TotalCommander中的内置查看器(F3)查看二进制文件的内容)


我在NMGF库代码中看不到这是NMGF库的一部分,但我想这与Intel Parallel Studio有更多关系。有人对此有线索吗?(以及如何避免?)@tofro是对的,指针指向了网格中未设置的部分。非常感谢@tofro!

这看起来很可能是代码中某个地方公布的缓冲区大小和初始化的缓冲区大小不同。或者更确切地说,更像是一个完全误入歧途的指针。我想,指针上的内容纯粹是巧合,而不是n不值得调查。谢谢你的提示@tofro,我会调查的。