【问题标题】:Where is the limit.h file that defines the template numeric_limits定义模板 numeric_limits 的 limit.h 文件在哪里
【发布时间】:2013-10-03 17:57:42
【问题描述】:

所以,我试图找到定义了 numeric_limits 的 limit.h 文件。 我似乎找到了 limit.h 的所有不同风格,但没有找到定义的风格,因为 如图所示 http://en.cppreference.com/w/cpp/types/numeric_limits

我在 debian 发行版上。

这是我到目前为止所做的。我创建了一个main.cpp,只有#include <limits> 做了一个 g++ 详细构建来找到所有包含路径: g++ -v main.cpp -o tryout。 现在我看到了/usr/include 并且usr/lib 有一堆limits.h 文件。但他们似乎都没有我正在寻找的模板定义

/usr/include/
% find -name limits.h 返回以下内容:
./c++/4.4/tr1/limits.h
./limits.h
./linux/limits.h

/usr/lib
% find -name limits.h 返回以下内容:
./perl5/Tk/pTk/compat/limits.h
./gcc/x86_64-linux-gnu/4.3/include-fixed/limits.h
./gcc/x86_64-linux-gnu/4.4/include-fixed/limits.h

那么std::numeric_limits 模板位于何处。我如何找到那个文件。

【问题讨论】:

    标签: c++ linux gcc debian


    【解决方案1】:

    如参考页所示,std::numeric_limits 定义在标题 <limits> 中,而不是 limits.h。你可以通过询问预处理器找到它在哪里,例如:

    ~$ cat test.cc
    #include <limits>
    
    ~$ g++ -E test.cc -o - | grep limits | grep gcc | tail -1
    # 841 "/opt/swt/install/gcc-4.7.2/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../include/c++/4.7.2/limits" 3
    

    【讨论】:

      猜你喜欢
      • 2015-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-27
      • 2017-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多