1. 程式人生 > >C# NetCDF文件64位讀取

C# NetCDF文件64位讀取

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);

            這是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位讀取