Android NDK找不到glob.h的问题

发布于 2021-11-12 13:33:42 字数 55 浏览 907 评论 8

能不能把 rotater.c 的 glob 换成标准的C函数。在Android的NDK里面没有glob的实现。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

野心澎湃 2021-11-17 01:18:42

rule.c 中的 pthread_rwlock_wrlock pthread_rwlock_rdlock pthread_rwlock_unlock 可不可以用SystemV 的二值信号量代替啊?

居里长安 2021-11-17 01:17:38

rule.c 中的 pthread_rwlock_t Android 2.2 以下不支持。郁闷

因为看清所以看轻 2021-11-17 00:56:12

我去看看能不能把 glibc 的 glob.c 移植到 zlog 里面

孤独患者 2021-11-17 00:52:50

问题不大,只要你不用转档功能即可。

狠疯拽 2021-11-16 23:50:03

我现在编译的库文件没有包含rotater.c,这个会有影响吗?

柳絮泡泡 2021-11-16 23:28:29

或者绕过去,你把glob的那部分注释掉,然后不使用转档功能。

能否归途做我良人 2021-11-16 05:18:46

哇!居然有人在android上用zlog!

glob是POSIX的一部分,ndk里面有什么替代品吗?

标准C里面只有stdio,而这个要实现glob基本是不可能的。。。

够钟 2021-11-14 02:12:02

zlog_1.0.6 在 android-ndk-r5c-windows.zip 上编译成功,还没来得及跑。

在这个网址把 glob.c 和 glob.h 下载下来,添加到 Android.mk 里面 https://github.com/tias/android-busybox-ndk/blob/master/patches/024-hush.patch

zlog.c 代码修改,我不知道代码改成这样行不行:

 

    const char *file, size_t filelen, const char *func, size_t funclen, long line, int level,
    const void *buf, size_t buf_len)
{
#ifndef __ANDROID__   // modified by xxx 20120725
    zlog_output(category, file, filelen, func, funclen, line, level, buf, buf_len, NULL, 0, ZLOG_HEX);
#else
    va_list ap;
    va_end(ap);
    zlog_output(category, file, filelen, func, funclen, line, level, buf, buf_len, NULL, ap, ZLOG_HEX);
#endif
}

/*******************************************************************************/
void dzlog(const char *file, size_t filelen, const char *func, size_t funclen, long line, int level,
    const char *format, ...)
{
    va_list args;
    va_start(args, format);
    dzlog_output(file, filelen, func, funclen, line, level, NULL, 0, format, args, ZLOG_FMT);
    va_end(args);
}

void vdzlog(const char *file, size_t filelen, const char *func, size_t funclen, long line, int level,
    const char *format, va_list args)
{
    dzlog_output(file, filelen, func, funclen, line, level, NULL, 0, format, args, ZLOG_FMT);
}

void hdzlog(const char *file, size_t filelen, const char *func, size_t funclen, long line, int level,
    const void *buf, size_t buf_len)
{
#ifndef __ANDROID__   // modified by xxx 20120725
    dzlog_output(file, filelen, func, funclen, line, level, buf, buf_len, NULL, 0, ZLOG_HEX);
#else
    va_list ap;
    va_end(ap);
    dzlog_output(file, filelen, func, funclen, line, level, buf, buf_len, NULL, ap, ZLOG_HEX);
#endif
}

 

 

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文