Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
std::endl在我编译的标准库中的什么位置? 我试图通过我的C++标准库中的函数来查找函数的名称。我在macOS上,因此使用nm命令可以检查dylib: nm -g /usr/local/lib/libc++.dylib nm -g /usr/local/lib/libc++abi.dylib_C++_Llvm_Libc++ - Fatal编程技术网

std::endl在我编译的标准库中的什么位置? 我试图通过我的C++标准库中的函数来查找函数的名称。我在macOS上,因此使用nm命令可以检查dylib: nm -g /usr/local/lib/libc++.dylib nm -g /usr/local/lib/libc++abi.dylib

std::endl在我编译的标准库中的什么位置? 我试图通过我的C++标准库中的函数来查找函数的名称。我在macOS上,因此使用nm命令可以检查dylib: nm -g /usr/local/lib/libc++.dylib nm -g /usr/local/lib/libc++abi.dylib,c++,llvm,libc++,C++,Llvm,Libc++,在输出中,我可以找到std::cout: 0000000000079ec0 S __ZNSt3__14coutE 0000000000079f60 S __ZNSt3__15wcoutE etc... 但是,我没有找到std::endl的任何条目 有趣的是,我的LLVM IR解释器也找不到std::endl,尽管std::cout工作正常: LLVM ERROR: Program used external function '__ZNSt3__14endlIcNS_11char_

在输出中,我可以找到
std::cout
:

0000000000079ec0 S __ZNSt3__14coutE
0000000000079f60 S __ZNSt3__15wcoutE
etc... 
但是,我没有找到
std::endl
的任何条目

有趣的是,我的LLVM IR解释器也找不到
std::endl
,尽管
std::cout
工作正常:

LLVM ERROR: Program used external function     
'__ZNSt3__14endlIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_' which could not be resolved!

我应该在我的系统上的哪里找到
std::endl

正如YSC所提到的,
std::endl
是一个函数(可能是内联的),它所做的就是输出结束行
\n
字符,然后调用
flush

看起来libcxx有隐藏的endl:


当FLUH没有这样的属性:

您可以尝试查找<代码> STD::FLASH ?我怀疑<代码> STD::EntL//C>不链接,因为它只是“代码”。它可能是一个头函数。如果使用C++编译器前端,比如<代码> G++< /COD>或<代码> CLAN++/COD>来构建程序,或者使用IDE类XCODE,然后,您无需显式链接任何库即可访问标准库。那么你能告诉我们实际的问题是什么吗?为什么你想知道std::endl在哪里?它可能是一个模板,因此需要在源代码中提供,并且不能编译到库中(除非特别指示包含实例化)。嗯。。。这是一个模板,所以这就是为什么它没有被编译到C++标准库中。它是否内联是另一回事,所以呢?OP从未指出,<>代码> STD::FLUSS将从它们的C++标准库导出。我不明白你想表达的意思。我的,不好。我误解了这个问题。可能是由于应用于函数的可见性属性(如果有的话)?此答案包含解决方案:它不是编译库的一部分,因为它是标头中的函数。它也是
inline
,这给
lli
带来了麻烦。