gpt4 book ai didi

c++ - 从对象或库文件中识别C++的版本(例如c++ 11,c++ 14)

转载 作者:行者123 更新时间:2023-12-01 14:42:12 24 4
gpt4 key购买 nike

我想知道GNU或LLVM工具链中是否有任何工具可以帮助从对象或库中获取C++版本信息?

最佳答案

我刚刚用一个简单的.o文件进行了测试,该文件包含以下代码的编译版本:

#include <iostream>

void test()
{
std::cout << "Hello\n";
}
我使用命令编译了它:
for std in 03 11 14 17; do g++ test.cpp -std=c++$std -c -o test$std.o; done
现在,我检查了生成的目标文件的SHA1总和
$ sha1sum test*.o
f4805c820db889327a90c823f3515baed1f443dc test03.o
2437e0d7aaf2dcf0575eff1237cad70ebef06448 test11.o
2437e0d7aaf2dcf0575eff1237cad70ebef06448 test14.o
f4805c820db889327a90c823f3515baed1f443dc test17.o
如您所见,C++ 03与C++ 17以及C++ 11与C++ 14的目标文件是相同的。因此,没有通用的方法来区分这两种方法,除非您的代码是使用一些特殊的选项编译的(我不知道)。

关于c++ - 从对象或库文件中识别C++的版本(例如c++ 11,c++ 14),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63574686/

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