From 4e3f994442678b5a70e7cf66ae6408867b01eb85 Mon Sep 17 00:00:00 2001 From: b5f0d6c3 Date: Fri, 6 May 2022 15:14:44 +0800 Subject: update sdk --- mkvlib/c/README.md | 8 ++++++-- mkvlib/c/sdk.cs | 8 ++++++++ mkvlib/c/sdk.py | 6 ++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/mkvlib/c/README.md b/mkvlib/c/README.md index 1a66bb6..bf96f77 100644 --- a/mkvlib/c/README.md +++ b/mkvlib/c/README.md @@ -55,7 +55,11 @@ - 几乎所有导出的方法都有这个参数(在最后),当出现错误时会进行调用,可以用来判断执行过程是否出错,错在哪. - 虽然可以为NULL,但并不建议这样做. - 以下名为"lcb"的参数均为日志回调,不再赘述. - +## 版本信息 +- ```c + char* Version(); + //return: 库版本信息 + ``` ## 初始化实例 - ```c @@ -64,7 +68,7 @@ ``` - 应该被最先调用. - 会检测依赖,如果不满足会返回false. -- 如果在**未**或**未成功**调用本函数的情况下调用其他函数会永远返回失败状态. +- 如果在**未**或**未成功**调用本函数的情况下调用其他函数(Version除外)会永远返回失败状态. ### 缓存相关 diff --git a/mkvlib/c/sdk.cs b/mkvlib/c/sdk.cs index 9ff6787..50be1e8 100644 --- a/mkvlib/c/sdk.cs +++ b/mkvlib/c/sdk.cs @@ -7,6 +7,9 @@ public static class mkvlib #region imports + [DllImport("mkvlib.so")] + static extern IntPtr Version(); + [DllImport("mkvlib.so")] static extern bool InitInstance(logCallback lcb); @@ -72,6 +75,11 @@ public static class mkvlib #endregion + public static string Version() + { + return ccs(Version()); + } + public static bool InitInstance(Action lcb) { return InitInstance(_lcb(lcb)); diff --git a/mkvlib/c/sdk.py b/mkvlib/c/sdk.py index 2d0d4d4..0e83fdd 100644 --- a/mkvlib/c/sdk.py +++ b/mkvlib/c/sdk.py @@ -10,6 +10,12 @@ def _lcb(s): print(s.decode()) +def version(): + call = lib.Version + call.restype = c_char_p + return call().decode() + + def initInstance(lcb): call = lib.InitInstance return call(lcb) -- cgit v1.2.1