有人给我发送了一段C ++代码,其中包括一些我不熟悉的标头和函数。 我想找到哪个头文件定义了特定功能。 例如,我有以下标题:

#include <iostream>
#include <ncurses.h>
#include <stdlib.h>
#include <stdio.h>
#include <pthread.h>
#include <time.h>
#include <unistd.h>
#include <termios.h>
#include <fcntl.h>

我想知道其中的女巫定义了此功能:

tcgetattr

或其中哪个定义了此结构:

termios

谁能帮我?

===============>>#1 票数:1 已采纳

tcgetattrtermios.h的“获取属性”功能。 termios结构也来自该标头,因为我认为它共享名称,这是不言而喻的。

见,例如,Linux手册页这里

如果您要查找哪些标头包含任意函数,我通常(在类似UNIX的操作系统中)只是在已知位置使用grep ,例如:

grep tcgetattr /usr/include/*.h /usr/include/*/*.h

(或使用grep的递归选项,或find到处搜索)。

===============>>#2 票数:0

如果您不知道函数的定义位置,可以使用一种通用方法来确定该函数的定义位置:

  • 创建一个仅包含这些行的C ++源文件。 我们称它为test.cc

  • 使用-E选项编译文件。

     g++ -E -o test.out test.cc 
  • test.out查找要跟踪的功能。 从那里,您可以跟踪它来自哪个.h文件。

  ask by user3488563 translate from so

未解决问题?本站智能推荐: