GLPK/C-Sharp
外觀
< GLPK
C# 是一種由 微軟 設計的程式語言,一些人將其描述為類似於 Java [1]。C# 的開源實現由 Mono 專案提供。
C# 已在以下文件中進行了標準化
- ECMA-334 — C# 語言規範
- ISO/IEC 23270:2006 — 資訊科技 - 程式語言 - C#。
GLPK for C#/CLI 為 GLPK 提供了 C# 和通用語言介面 (CLI) 繫結。它是在 GPL V3 下許可的。程式碼是使用 SWIG 生成的。
GLPK for C#/CLI 支援回撥和終端監聽器。發生在 GLPK 本機庫中的錯誤將作為 C# 異常丟擲。GLPK API 的所有功能都作為 GLPK 物件的方法提供,如下面的示例所示
using System;
using org.gnu.glpk;
class Program
{
static void Main (string[] args)
{
Console.WriteLine ("GLPK " + GLPK.glp_version ());
}
}
C# 可以使用封送處理直接呼叫 C 庫函式。以下程式呼叫 glp_version() 來輸出 GLPK 庫的版本。
/*
* This program demonstrates calling the GLPK library with C#.
*/
using System;
using System.Runtime.InteropServices;
public class Test {
[DllImport ("glpk")]
static extern IntPtr glp_version();
public static void Main(string[] args) {
Console.WriteLine("GLPK " + version());
}
public static string version() {
return Marshal.PtrToStringAnsi(glp_version());
}
}
要使用 Mono 編譯程式,請使用
mcs test.cs
要使用 Visual C# 編譯程式,請使用
csc test.cs
當 GLPK 使用 Visual Studio C++ 編譯時,兩者都.dll和.lib檔案被建立。在這種情況下,在 Visual Studio C# 專案中使用 GLPK 最簡單(常用)的方法是將 C++ GLPK 專案設為 C# 專案的依賴項,幷包含.lib檔案。
GLPK# (GLPK Sharp) 為 GLPK 提供了 C# 語言繫結,並在 CeCILL 版本 2 下獲得許可。
GLPK# 使用 C++/CLI 編寫,通常會靜態連結到 GLPK。截至 2012 年 7 月,GLPK# 支援大多數 GLPK 4.45 API,包括終端回撥和分支定界回撥。有關詳細資訊,請參閱法語/英語雙語專案網站。
- ↑ Dormann, Scott (2007). "C#的歷史".
{{cite journal}}: Cite journal 要求|journal=(幫助)