ソースを参照

add asn.1 example

ruki 3 年 前
コミット
ead80f4073
2 ファイル変更44 行追加0 行削除
  1. 22 0
      guide/project_examples.md
  2. 22 0
      zh-cn/guide/project_examples.md

+ 22 - 0
guide/project_examples.md

@@ -1627,3 +1627,25 @@ WARNING: modpost: Symbol info of vmlinux is missing. Unresolved symbol check wil
 /mnt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-ld -EL -maarch64elf -r --build-id=sha1 -T /home/ruki/.xmake /packages/l/linux-headers/5.10.46/8f80101835834bc2866f3a827836b5de/scripts/module.lds -o build/cross/arm64/release/hello.ko build/.objs/hello/cross/arm64/release/build/cross/ arm64/release/hello.ko.o build/.objs/hello/cross/arm64/release/build/cross/arm64/release/hello.ko.mod.o
 [100%]: build ok!
 ```
+
+## ASN.1 program
+
+ASN.1 programs need to use [ASN.1 Compiler](https://github.com/vlm/asn1c) to generate relevant .c files to participate in project compilation.
+
+While Xmake provides built-in `add_rules("asn1c")` rules to process `.c` file generation, `add_requires("asn1c")` automatically pulls and integrates ASN.1 compiler tools.
+
+Here is a basic configuration example:
+
+```lua
+add_rules("mode.debug", "mode.release")
+add_requires("asn1c")
+
+target("test")
+     set_kind("binary")
+     add_files("src/*.c")
+     add_files("src/*.asn1")
+     add_rules("asn1c")
+     add_packages("asn1c")
+```
+
+For details, see [Example Project](https://github.com/xmake-io/xmake/tree/master/tests/projects/c/asn1c).

+ 22 - 0
zh-cn/guide/project_examples.md

@@ -1632,3 +1632,25 @@ WARNING: modpost: Symbol info of vmlinux is missing. Unresolved symbol check wil
 /mnt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-ld -EL -maarch64elf -r --build-id=sha1 -T /home/ruki/.xmake/packages/l/linux-headers/5.10.46/8f80101835834bc2866f3a827836b5de/scripts/module.lds -o build/cross/arm64/release/hello.ko build/.objs/hello/cross/arm64/release/build/cross/arm64/release/hello.ko.o build/.objs/hello/cross/arm64/release/build/cross/arm64/release/hello.ko.mod.o
 [100%]: build ok!
 ```
+
+## ASN.1 程序
+
+ASN.1 程序,需要借助 [ASN.1 Compiler](https://github.com/vlm/asn1c) 去生成相关的 .c 文件参与项目编译。
+
+而 Xmake 内置提供了 `add_rules("asn1c")` 规则去处理 `.c` 文件生成,`add_requires("asn1c")` 自动拉取集成 ASN.1 编译器工具。
+
+下面是一个基础的配置例子:
+
+```lua
+add_rules("mode.debug", "mode.release")
+add_requires("asn1c")
+
+target("test")
+    set_kind("binary")
+    add_files("src/*.c")
+    add_files("src/*.asn1")
+    add_rules("asn1c")
+    add_packages("asn1c")
+```
+
+具体见 [完整例子工程](https://github.com/xmake-io/xmake/tree/master/tests/projects/c/asn1c)。