所以,我试图找到定义了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/
返回以下内容:
./c++/4.4/tr1/limits.h
./limits.h
./linux/limits.h
% 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
那么/usr/lib
模板位于何处。我如何找到该文件。
答案 0 :(得分:2)
如参考页面所示,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