溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C# NetCDF文件64位讀取

發(fā)布時(shí)間:2020-08-29 16:29:48 來(lái)源:網(wǎng)絡(luò) 閱讀:2378 作者:speciallst 欄目:編程語(yǔ)言

[ NetCDF (network Common Data Form)是常用的氣象文件壓縮格式,網(wǎng)上有開放的庫(kù)可以進(jìn)行讀取、寫入等操作,其文件解析的網(wǎng)站是 netcdf類庫(kù)下載,支持C++,F(xiàn)ortran,java等語(yǔ)言,使用C#開發(fā),需要DllImport的方式調(diào)用C++類庫(kù)進(jìn)行開發(fā),開發(fā)版本分為32位版和64位版,在引用的時(shí)候,32位和64位import的函數(shù)不一樣,需要進(jìn)行區(qū)別。
這是64位的寫法,將較長(zhǎng)的size用long方式標(biāo)示
[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);
剛開發(fā)的時(shí)候,用64位的dll,按照32位的寫法,數(shù)據(jù)一直不能出來(lái),最后,聯(lián)合調(diào)試netcdf的源碼才發(fā)現(xiàn)此問(wèn)題,最后能順利讀出來(lái)文件。
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI