我用C++写了一个.a静态库 。。函数大概是这样std::vector<std::string> getIds();
然后我有个 函数extern "C"{ int getId() { auto v = getIds(); if (v[0] == "") return 0;
}
}代码大概这样这种就报错了。错误一大堆error: undefined symbol: std::ndk1::basic_string<char, std::ndk1::char_traits<char>, std::__ndk1::allocator<char> >::append(char const*, unsigned long)感觉就是不能用STL库。。用了就要出错我静态库.a给外部的函数必须是C形式的 。其实是给golang用。但是我内部封装肯定用C++。方便啊 。要怎么做呢。
[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。
kxSatan 不同语言,API加__stdcall试试
saloyun 当然只能用基础类型。你别说给golang调用,就是给不同版本的c++调用都会出问题。 序列化一下,然后返回值和参数都用基础数据类型就行了。