C# NetCDF文件64位讀取
阿新 • • 發佈:2018-02-09
dllimport 聯合 文件壓縮 版本 down 聯合調試 call 文件解析 使用 [ NetCDF (network Common Data Form)是常用的氣象文件壓縮格式,網上有開放的庫可以進行讀取、寫入等操作,其文件解析的網站是 netcdf類庫下載,支持C++,Fortran,java等語言,使用C#開發,需要DllImport的方式調用C++類庫進行開發,開發版本分為32位版和64位版,在引用的時候,32位和64位import的函數不一樣,需要進行區別。
這是64位的寫法,將較長的size用long方式標示
[DllImport("netcdf.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int nc_open(string path, int mode, long bsize, out int ncidp);
這是64位的寫法,將較長的size用long方式標示
[DllImport("netcdf.dll", CallingConvention = CallingConvention.Cdecl)]
這是32位的寫法 [DllImport("netcdf.dll", CallingConvention = CallingConvention.Cdecl)] public static extern int nc_open(string path, int mode, int bsize, out int ncidp); 剛開發的時候,用64位的dll,按照32位的寫法,數據一直不能出來,最後,聯合調試netcdf的源碼才發現此問題,最後能順利讀出來文件。
C# NetCDF文件64位讀取