。so文件会更改任何类型吗?

问题描述 投票:1回答:1

我正在用自己的代码foo.c使用pmemobj_create中的https://pmem.io/pmdk/manpages/linux/v1.4/libpmemobj/pmemobj_open.3。它接受参数PMEMobjpool *pmemobj_create(const char *path, const char *layout, size_t poolsize, mode_t mode)。当直接将foo.c编译为foo.o时,而不是将foo.otest.o链接时,一切正常。但是当我首先使用[]将foo.c编译为libfoo.so

gcc -c -fPIC foo.c -o foo.o
gcc -shared -o libfoo.so foo.o

然后将其与test.o链接,编译成功,但是在执行时,函数pmemobj_create的执行失败,并显示错误消息Invalid argument。我的假设是我编译foo.c的方式可能是错误的,这导致我传递给pmemobj_create的参数无效。但是我该如何解决呢?感谢您的任何建议!

我在自己的代码foo.c中使用https://pmem.io/pmdk/manpages/linux/v1.4/libpmemobj/pmemobj_open.3中的pmemobj_create。它使用参数PMEMobjpool * pmemobj_create(const char * path,const char * ...

c linux shared-libraries
1个回答
0
投票

。so文件是否更改任何类型?

© www.soinside.com 2019 - 2024. All rights reserved.