<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 庫信息文件 庫信息文件記錄了該支持庫提供的所有命令的參數信息、所有類型的成員信息(類似于 TypeScript 的 `*.d.ts`),同時提供了對應的C++標識符,是保證EplOnCpp正確運行并不可少的內容 庫信息文件的文件名固定為`info`,根據格式的不同,擴展名可以為`json`(JSON格式)或`yml`(YAML格式) 關于JSON格式的介紹請參考[json.org](https://www.json.org/),關于YAML格式的介紹請參考[yaml.org](https://yaml.org/)。通常來說,YAML格式相比JSON更加簡潔、易用 在庫信息文件中,所有數據類型均使用C++全限定名稱,有關基本類型的C++全限定名稱,請參考:[數據類型內部名稱](../Reference/DataTypes/InternalNames.md) ## 庫信息格式 ### CMakeName (string) 該描述庫在CMake配置文件中的名稱,***應與`config.cmake`中信息相匹配*** ### SuperTemplate (string) 該字段指定了 SuperTemplate 的位置 有關更多信息,請參考 SuperTemplate 注意:該字段為不穩定接口,隨時可能刪除,一般情況下請勿使用。 ### Cmd (map) 該字段為Map類型,提供了庫命令的信息 其 Key 為 命令中文名,Value 為 命令信息 ### Type (map) 該字段為Map類型,提供了庫自定義類型的信息 其 Key 為 類型中文名,Value 為 自定義類型信息 ### Constant (map) 該字段為Map類型,提供了庫常量的信息 其 Key 為 常量中文名,Value 為 庫常量信息 ### Enum (map) 枚舉類型,該字段為Map類型,提供了枚舉信息 其 Key 為 枚舉類型中文名,Value 為 另一個Map Value.Key 為枚舉值中文名 Value.Value 為枚舉值信息,格式同常量信息 ## 方法信息格式 ### CppName (string) 表示C標識符 對于全局命令,應為C全限定名稱(通常含`::`) 對于成員方法,應為成員名稱(不含`::`) ### ReturnDataType (string) 表示命令的返回值類型(C++全限定名稱),使用`null`(或省略字段)表示無返回值 ### Parameters (array) 表示參數信息,是一個數組 ## 參數信息格式 ### DataType (string) 表示數據類型(C++全限定名稱) ### Optional (bool) 表示是否為可空參數 ### ByRef (bool) 表示是否為傳址參數 僅用于非常量引用(`T&`),對常量引用(`const T&`)應設置為`false`以提高運行速度(避免生成中間對象) ### VarArgs (bool) 表示是否為可變長參數,僅用于末尾 C++層面可以配合使用變長參數模板(Variadic Templates)接收信息 ## 自定義類型信息格式 ### CppName (string) 表示C++標識符 ### Method (map) 該字段為Map類型,提供了成員方法的信息 其 Key 為 成員方法中文名,Value 為 成員方法信息 ### Member (map) 該字段為Map類型,提供了成員屬性的信息 其 Key 為 成員方法中文名,Value 為 成員屬性信息 ## 成員屬性信息格式 ### CppName (string) 表示C++標識符 ### DataType (string) 表示數據類型(C++全限定名稱) ### Getter (string)表示獲取屬性值的函數的C++全限定名稱,可選 ### Setter (string) 表示設置屬性值的函數的C++全限定名稱,可選 ### Referencable (bool) 當設置為`false`時,**強制**該屬性無法被按 參考 方式傳遞給用戶定義的子程序 注:即使設置為`true`,當你使用 `Getter` & `Setter` 時可能仍然無法按 參考 方式傳遞 ## 常量信息格式 ### CppName (string) 表示C++標識符 可選,若不存在,則`Value` / `Getter`必須存在 ### DataType (string) 表示數據類型(C++全限定名稱) ### Getter (string) 表示獲取常量值的函數的C++全限定名稱,可選,若不存在,則`CppName` / `Value`必須存在 ### Value (any) 表示常量的值,可選,若不存在,則`CppName` / `Getter`必須存在 為了便于優化,如非特殊情況,請提供此字段 ## 內容示例 YAML格式: ```yaml CMakeName: EocKrnln SuperTemplate: SuperTemplateForKrnln.dll Cmd: 通信測試: CppName: e::lib::krnln::NetworkUtils::ICMPPing ReturnDataType: int32_t Parameters: - DataType: e::system::string - DataType: int32_t Optional: true Type: 對象: CppName: e::lib::krnln::COMObject Method: 是否相等: CppName: ReferenceEquals ReturnDataType: bool Parameters: - DataType: e::lib::krnln::COMObject Constant: 自年首天數: CppName: e::lib::krnln::DateTimeUtils::CalcDayOfYear DataType: int32_t Value: 10 ``` JSON格式: ```json { "CMakeName": "EocKrnln", "SuperTemplate": "SuperTemplateForKrnln.dll", "Cmd": { "通信測試": { "CppName": "e::lib::krnln::NetworkUtils::ICMPPing", "ReturnDataType": "int32_t", "Parameters": [ { "DataType": "e::system::string" }, { "DataType": "int32_t", "Optional": true } ] } }, "Type": { "對象": { "CppName": "e::lib::krnln::COMObject", "Method": { "是否相等": { "CppName": "ReferenceEquals", "ReturnDataType": "bool", "Parameters": [ { "DataType": "e::lib::krnln::COMObject" } ] } } } }, "Constant": { "自年首天數": { "CppName": "e::lib::krnln::DateTimeUtils::CalcDayOfYear", "DataType": "int32_t", "Value": 10 } } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看