Browse Source

Update deploy.md

blueloveTH 2 months ago
parent
commit
f319fedf7e
1 changed files with 23 additions and 2 deletions
  1. 23 2
      docs/features/deploy.md

+ 23 - 2
docs/features/deploy.md

@@ -8,7 +8,8 @@ order: 81
 The feature requires pocketpy version >= `2.1.7`
 The feature requires pocketpy version >= `2.1.7`
 !!!
 !!!
 
 
-You can deploy your pocketpy program as bytecode files, which slightly improves the loading speed of your program.
+You can deploy your pocketpy program as `.pyc` files, which are compiled bytecodes with necessary metadata.
+This slightly improves the loading speed of your program.
 
 
 It also makes your users unable to get your source code directly, unless they do expensive reverse engineering.
 It also makes your users unable to get your source code directly, unless they do expensive reverse engineering.
 
 
@@ -29,4 +30,24 @@ It compiles all `.py` files in the specified directory into `.pyc` files.
 
 
 ```sh
 ```sh
 python compileall.py ./main input_path output_path
 python compileall.py ./main input_path output_path
-```
+```
+
+## Running `.pyc` files
+
+The command-line executable `main` can run `.pyc` files directly:
+
+```sh
+./main output_file.pyc
+```
+
+If you are using C-APIs, you can use the `py_execo()` function.
+
+```c
+/// Run a compiled code object.
+PK_API bool py_execo(const void* data, int size, const char* filename, py_Ref module) PY_RAISE PY_RETURN;
+```
+
+## Trackback Support
+
+Since `.pyc` files do not contain raw sources,
+trackbacks will show line numbers but not the actual source code lines.