乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Matlab和C混合編程的一個靠譜思路

       王憲強(qiáng) 2019-07-12

      2016年06月28日 10:14:51

      https://blog.csdn.net/huiyuanliyan/article/details/51773856


      寫在前面的話

      (1)如無特殊需要(如速度),盡量不要做A語言和B語言互相轉(zhuǎn)化這樣的事情。
      (2)如無特殊需要(如封裝),盡量不要做A、B兩種語言互相調(diào)用代碼庫的事情,真的容易出錯,尤其是數(shù)據(jù)交換。

      前一段時間在一個項目中需要實現(xiàn)matlab和C的混合編程,著實費了很大的功夫,雖然需求滿足了,但其實效果很一般,混合編程是有資源浪費的代價的,影響整個程序的性能,但由于項目的特殊性,demo程序需要提交給合作單位,所以需要dll的封裝,因此混合編程也是無奈之舉。所以建議大家:

      但在無數(shù)次頭疼的查找資料中,偶爾發(fā)現(xiàn)了一個大神建議的一種方法很靠譜,不需要復(fù)雜的接口操作,只需要一個中間文件進(jìn)行輸入輸出導(dǎo)向就可以實現(xiàn)兩種代碼的協(xié)同工作,通過郵件交流,我也大概有了清晰的思路,今天寫出來分享給大家,希望對大家有所啟發(fā)。

      本方法有適用范圍,你的混合編程目的需要滿足

      (1)你只需要程序拋出結(jié)果,而不需要將它們本身提交或展示給另外的人。
      (2)你的matlab程序太慢,你需要速度上的優(yōu)化,但又不需要將所有的matlab變成C,同時滿足(1)
      (3)你手上有兩種程序的模塊,你確實不像改變?nèi)魏我环N,但又想讓他們協(xié)同工作,同時滿足(1)

      如果你寫程序的目的滿足上述條件的話,請繼續(xù)往下看,否則建議你還是參考我之前的兩篇文章:

      windows 32/64位系統(tǒng) VS2010調(diào)用MATLAB2012生成的dll方法
      windows 32/64位系統(tǒng) MATLAB使用MEX方式調(diào)用C/C++源碼

      正式開始

      首先假設(shè)你手上有A、B兩塊程序,它們是不同的語言寫的,但可以協(xié)調(diào)處理同一個問題或數(shù)據(jù)。這里我們先認(rèn)為這兩段程序是承接關(guān)系,也就是A處理完了,B繼續(xù)處理就可以。那么我可以這么來做:

      1. 建立一個文件夾temp,專門用來存放中間文件。

      2. A、B兩個程序同時運行,且程序中都有能檢測文件的代碼(這個絕大部分的語言都可以做到)

      3. A處理完數(shù)據(jù)后,向temp文件夾中寫一個臨時文件A.txt(如果需要較為簡單的數(shù)據(jù)傳輸也可以直接寫在A中)。

      4. B程序檢測到A.txt后,按需讀取內(nèi)容,同時繼續(xù)做處理,做完處理后刪除A.txt,同時生成B.txt。

      5. A程序檢測到B.txt后,按需讀取內(nèi)容,做處理,做完后刪除B.txt,再次生成A.txt。

      簡單的程序可能到第4或第5步就結(jié)束了,但是復(fù)雜的程序可能要重復(fù)4、5兩個步驟多次。

      這個方法杜絕了A、B兩種語言的代碼交織,能夠最大限度地保留兩種語言的功能,當(dāng)然你需要做的可能是在兩段代碼中都添加檢測文件和輸入輸出的代碼,但這個實現(xiàn)起來就要簡單很多了。

      如有任何問題請留言或發(fā)送email到:lifeliyan@163.com

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多