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=
(帮助)