如何判断库是使用 C++11 编译的
How to tell a library was compiled using C++11
我如何判断某个 C++ 库是否使用链接
c++11 标准?
elf 二进制文件默认包含所用编译器版本的签名。
现在,关于使用的编译器标志,如果在编译时使用 -frecord-gcc-switches
,那么,您可以在 ELF 可执行文件中找到签名。
g++ -frecord-gcc-switches -std=c++0x trial.cpp
readelf -p .GCC.command.line a.out
“.GCC.command.line”部分的字符串转储:
[ 0] -imultilib . [ d] -imultiarch x86_64-linux-gnu [ 2a] -D_GNU_SOURCE [ 38] trial.cpp [ 42] -mtune=generic [ 51] -march=x86-64 [ 5f] -std=c++0x [ 6a] -frecord-gcc-switches [ 80]
-fstack-protector
我如何判断某个 C++ 库是否使用链接 c++11 标准?
elf 二进制文件默认包含所用编译器版本的签名。
现在,关于使用的编译器标志,如果在编译时使用 -frecord-gcc-switches
,那么,您可以在 ELF 可执行文件中找到签名。
g++ -frecord-gcc-switches -std=c++0x trial.cpp
readelf -p .GCC.command.line a.out
“.GCC.command.line”部分的字符串转储:
[ 0] -imultilib . [ d] -imultiarch x86_64-linux-gnu [ 2a] -D_GNU_SOURCE [ 38] trial.cpp [ 42] -mtune=generic [ 51] -march=x86-64 [ 5f] -std=c++0x [ 6a] -frecord-gcc-switches [ 80]
-fstack-protector