2014-07-17 60 views
1

我目前正在爲APL編寫C++程序。到目前爲止,我一直在做的是在APL中創建一個函數,該函數運行命令提示符並調用可執行文件,並將輸入和輸出文件創建爲參數,然後將C++可執行文件編程爲打開輸入文件,讀取輸入並將輸出存儲在輸出文件中,輸出文件由APL函數提取並存儲在一個或多個變量中。這種方法的問題是,當我使用更簡單的函數時,這些函數會被稱爲很多或者有時是遞歸的,所以打開和關閉文件以進行簡單的計算需要大量的處理時間。我試圖找到的方法是從解決方案或庫中調用用C++編寫的函數,並直接在我的APL工作區中使用它。跨平臺的C++函數到APL

比如我在C++函數寫在這個形式:

Xadd(int x, int y);

,並希望把它寫在APL這樣Xadd (x) (y),並且能夠使用∇Xadd通過APL以後打開它。謝謝。

+0

「APL」有很多不同的風格,大多數處理界面與外部世界的處理方式不同,所以最好知道您正在使用哪個APL ... – MBaas

+0

@MBaas我使用了APL + Win版本9時。 –

回答

0

如果您是從APL調用CPP功能,或者反過來,我不太明白。而你沒有說明具體的味道你的編碼APL,但你可能想看看這些概念:

  • 共享變量:⎕SVO
  • Auxillary處理器
  • 調用編譯的程序:⎕NA
    • 查閱IBM APL2/370的系統服務參考中的第28章:LINK
+0

我想在APL工作區中調用CPP函數,並且使用APL + Win 9.2 –

0

我首先編譯XADD功能與單個入口點一個DLL,然後用[] NA實驗。有用的墊腳石可能是首先在Excel(或Word或任何其他使用VBA的MS Office應用程序)中使用VBA工作的DLL調用,然後轉到APL。