gpt4 book ai didi

可以在 NDK c 应用程序中调用在内核驱动程序中定义的函数吗?

转载 作者:行者123 更新时间:2023-11-30 16:57:18 25 4
gpt4 key购买 nike

我的问题是我正在尝试使用静态库构建共享库。

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := libRip
LOCAL_SRC_FILES := src/Rip_api.cpp src/Rip_crypto.cpp

LOCAL_CFLAGS := -DCLR_INTERAPTIV_I7 -DCLR_INTERAPTIV -v

#only include corelockr and rip headers
LOCAL_C_INCLUDES := $(LOCAL_PATH)/inc/ $(LOCAL_PATH)/include/ $(LOCAL_PATH)/../../hardware/libhardware/include/hardware/

LOCAL_LDLIBS := -llog -L$(LOCAL_PATH)/library -lthisis_crypto -lthisis_interaptiv
LOCAL_SHARED_LIBRARIES = libsmem.sastra
#test seqr library
#LOCAL_LDFLAGS := -v -L$(LOCAL_PATH)/library -lthisis_crypto -lthisis_interaptiv

#this option will build static library
include $(BUILD_SHARED_LIBRARY)

执行此操作后,我收到一些 undefined reference 错误

mmm -B path/to/test/app/android.mk

像这样

I7_Embedded_SDK/corelockr/././src/request.c:494: undefined reference to `function'

在执行 nm 后,我在 request.o 文件中看到了这一点

request.o:
U function

我没有主库thisis_crypto的源代码,并且thisis_interaptive,但包装库 libRip.so 正在调用其中的函数。 request.o 在库中,thisis_interaptive。

这意味着该函数定义不在库中。此外,我检查了内核驱动程序 ipc.ko,这也是所有这些工作的一部分nm kernel_driver.ko

T function

这意味着它是在这里定义的。

1)我尝试构建的应用程序是否可能具有某些使用内核驱动程序的功能。

2)如果可能的话,我该如何构建共享库?

谢谢

最佳答案

内核空间和用户空间是两个完全独立的地址空间。所以简短的回答是否定的:)

关于可以在 NDK c 应用程序中调用在内核驱动程序中定义的函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39608595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com