怎样在库中知道自己的库文件名称.

发布于 2022-07-16 16:55:44 字数 39 浏览 7 评论 3

需要编个动态库,但是在动态库中需要知道自身的文件名称和路径. 怎样实现? 谢谢

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

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

发布评论

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

评论(3

有木有妳兜一样 2022-07-28 01:07:17

可以用系统程序“ldd”测试一下,看自己究竟链接了哪些库,库的路径也能同时显示。下面这个例子也许对您有启发:

[/home/campus/src/db_campus]# ldd -d ./tester
        libcampus_dbc.so => /usr/lib/libcampus_dbc.so (0xf6fd1000)
        libpq.so.3 => /usr/lib/libpq.so.3 (0x00505000)
        libpgsql.so => not found
        libc.so.6 => /lib/tls/libc.so.6 (0x0039f000)
        libcampus_pub.so => /usr/lib/libcampus_pub.so (0xf6f1a000)
        libpgsql.so => not found
        libssl.so.4 => /lib/libssl.so.4 (0x00bd2000)
        libcrypto.so.4 => /lib/libcrypto.so.4 (0x00986000)
        libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00909000)
        libcom_err.so.2 => /lib/libcom_err.so.2 (0x008e1000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x00c65000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x00616000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x00ba6000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0x005de000)
        /lib/ld-linux.so.2 (0x00382000)
        libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00970000)
        libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x008e6000)
        libdl.so.2 => /lib/libdl.so.2 (0x004ed000)
        libz.so.1 => /usr/lib/libz.so.1 (0x004f3000)
[/home/campus/src/db_campus]#

深府石板幽径 2022-07-27 22:49:00

需要编个动态库,但是在动态库中需要知道自身的文件名称和路径. 怎样实现? 谢谢

什么样的需求会要求这样做?好象没有必要吧。

猛虎独行 2022-07-24 14:26:56

原帖由 jkimber 于 2006-10-28 18:14 发表
需要编个动态库,但是在动态库中需要知道自身的文件名称和路径. 怎样实现? 谢谢

>>
>>
>>getcwd可以获得文件路径,前提是执行目录不能被更改。
>>对于主程序获取文件名称只想起来用argv[0]获取,其他的方法没有想到。
>>
>>

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