C Interoperability
Importing C Libraries
import "math_library.c"
import "string_operations.c"
Calling C Functions
int result = c_function(arg1, arg2)
Type Mapping
| Cpyte | C |
|---|---|
int | int |
int64 | long long |
uint64 | unsigned long long |
float | double |
str | char* |
int* | int* |
void* | void* |
Example
import "test_import.c"
def main():
int x = my_add(3, 4)
print(x)
x = my_double(10)
print(x)
Importing Cpy Files
import "math_utils.cpy"
import "data_structs.cpy"
Only public functions are exported.
# math_utils.cpy
public def add(a: int, b: int) -> int:
return a + b
private def helper():
pass
# main.cpy
import "math_utils.cpy"
def main():
int result = add(3, 4)
print(result)