-lsdc++和-lsdc++11之间的差异
Difference between -lstdc++ and -lstdc++11
哪些标准可以通过调用编译器标志"-lsdc++"来调用?与"-lsdc++11"一样,c++11标准也会被调用,"-std=c++11"也可以调用同样的标准。
-l
标志不会更改标准一致性,它用于指定要链接的库。
因此,-lstdc++
将与名为libstdc++.a
或libstdc++.so
的库链接。在我的系统中,该库可以在/usr/lib/x86_64-linux-gnu/libstdc++.so.6
中找到,但在您的系统中通常会有所不同。
这与指定与libSDL.so
链接的-lSDL
或与libpng.so
链接的-lpng
没有什么不同。
如果要使用特定版本的C++标准,请使用-std
选项(如-std=c++11
)。这也将在中链接正确的库,因此您不需要执行任何其他操作(例如使用任何-l
选项)。
这里没有指定编译器,但假设它是clang++
或g++
或类似的编译器。
然后标志CCD_ 15简单地指定在链接时应当搜索库CCD_。此搜索将包括搜索目录的标准列表以及可能已添加到库路径中的其他目录。
因此,标志CCD_ 17简单地指示应当在链接时间搜索库。它对编译器认为正在编译的c++版本没有任何影响。
相反,标志-std=c++
通常充当编译器的开关,该编译器:
- 表示正在使用的c++版本
- 自动将相应的库和包含路径添加到搜索路径
相关文章:
- this_thread::sleep_for和计时时钟之间的关系是否由C++11标准指定
- 在 C++11 中利用 int*_t、int_fast*_t 和 int_least*_t 之间的差异的一个很好的例子是
- C++03 和 C++11 之间的c_str功能规范的差异
- C++11 标准中的哪一部分规定了基元数据类型大小之间的相对顺序?
- C 11- ctor()=默认和空ctor(){}之间有什么区别
- C++11 在列表到映射(或其他容器)之间移动元素
- C 11和C 14之间的功能签名差异
- C 11中线程之间的共享文件记录
- C++11 在不同类之间共享固定大小的数组
- 分配列表和初始化器列表之间 C++11 缩小的差异
- C++11 - 2 个向量之间的emplace_back不起作用
- 如何在本地设置和全局设置之间以C 11 RNG的初始状态进行切换
- C++03的throw()说明符和C++11的noexcept之间有什么区别
- 执行未在线程(c++11)之间切换
- C++11 类型推理如何在浮点数或双精度数之间做出决定
- c++11 std::thread 和类友元函数之间的交互
- C++03 和 C++11 之间的阶级差异
- 编译一个相当简单的c++11程序时,gcc和clang之间的结果不同
- -lsdc++和-lsdc++11之间的差异
- 在 C++11 中,std::atomic 是否可以用于在两个线程之间传输非原子数据