forked from goplus/llgo
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
llcppsymg:linux #91
Comments
Linux 上Symbol会出现用@@声明版本,分割的符号 root@be00d9b1c2c9:/lib/aarch64-linux-gnu# nm -gDU liblua5.4.so
0000000000000000 A LUA_5.4
0000000000026a40 T luaL_addgsub@@LUA_5.4
00000000000269a0 T luaL_addlstring@@LUA_5.4
0000000000026a04 T luaL_addstring@@LUA_5.4
0000000000026b80 T luaL_addvalue@@LUA_5.4
0000000000023624 T luaL_argerror@@LUA_5.4
0000000000024100 T luaL_buffinit@@LUA_5.4 |
对于nm工具来说,发现在macos上必须不指定-D 输出,在linux上必须指定-D才能获得对应的符号 linux root@be00d9b1c2c9:/lib/aarch64-linux-gnu# nm -gU liblua5.4.so
nm: liblua5.4.so: no symbols root@be00d9b1c2c9:/lib/aarch64-linux-gnu# nm -gDU liblua5.4.so
0000000000000000 A LUA_5.4
0000000000026a40 T luaL_addgsub@@LUA_5.4
00000000000269a0 T luaL_addlstring@@LUA_5.4
0000000000026a04 T luaL_addstring@@LUA_5.4 macos homebrew/lib on stable via v21.7.2
❯ nm -gU libcjson.dylib
0000000000002ab8 T _cJSON_AddArrayToObject
0000000000002720 T _cJSON_AddBoolToObject
0000000000002690 T _cJSON_AddFalseToObject
0000000000002440 T _cJSON_AddItemReferenceToArray
0000000000002520 T _cJSON_AddItemReferenceToObject homebrew/lib on stable via v21.7.2
❯ nm -gDU libcjson.dylib
/Library/Developer/CommandLineTools/usr/bin/nm: error: libcjson.dylib: File format has no dynamic symbol table 原因是macOS 和 Linux 在动态库的结构和符号表管理存在不同,Linux 采用 ELF 格式,而macOS 采用Mach-O 格式 通过 Macos的报错可以看到,这个文件格式不存在动态符号表,并且通过 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The text was updated successfully, but these errors were encountered: