递归火山软件开发平台

标题: 怎么调用自己编写的so函数 [打印本页]

作者: 南郭平    时间: 昨天 16:48
标题: 怎么调用自己编写的so函数
我在老机器上用工具ndkr21e r命令行的方式编译so文件libtest.so
请问我在火山移动怎么调用

// test.cpp
#include <cmath>
#include <cstring>

// 告诉编译器:这些函数使用 C 链接方式(避免 C++ 名称修饰)
extern "C" {

// 1. 整数相加
int add(int a, int b) {
    return a + b;
}

// 2. 计算圆的面积(输入半径)
float circle_area(float radius) {
    return 3.1415926535f * radius * radius;
}

// 3. 判断是否为素数
int is_prime(int n) {
    if (n < 2) return 0;
    for (int i = 2; i * i <= n; ++i) {
        if (n % i == 0) return 0;
    }
    return 1;
}

// 4. 字符串反转(注意:修改传入的字符串)
void reverse_string(char* str) {
    if (!str) return;
    int len = strlen(str);
    for (int i = 0; i < len / 2; ++i) {
        char temp = str[i];
        str[i] = str[len - 1 - i];
        str[len - 1 - i] = temp;
    }
}

// 5. 计算斐波那契数列第 n 项(非递归,高效)
long long fib(int n) {
    if (n <= 1) return n;
    long long a = 0, b = 1, c;
    for (int i = 2; i <= n; ++i) {
        c = a + b;
        a = b;
        b = c;
    }
    return b;
}

} // extern "C"



作者: 创世魂    时间: 昨天 18:27
https://bbs.voldp.com/thread-2213-1-1.html  这里有个简单的例子。要知道so库里面的包名,知道后就能封了。




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4