Where is sys/types.h located?

前端 未结 5 1256
别跟我提以往
别跟我提以往 2021-01-30 09:37

I just found out that the and headers are located in the /usr/include folder in Ubuntu server, but I don\

5条回答
  •  走了就别回头了
    2021-01-30 10:10

    My Debian box (and hopefully Ubuntu haven't butchered it too much in their zeal) has it in /usr/include/sys/types.h.

    Your best bet is to first execute:

    find /usr/include -name types.h
    

    then:

    find / -name types.h
    

    if you don't find it in the first one.

    However, keep in mind that the development stuff may not even be installed. I would imaging a server box is meant to be used as a server and it wouldn't surprise me if the compiler and a bunch of other stuff was not part of the default install (but it would have a lot of server things like ftpd or Apache and so on).

    If the compiler is locating it somewhere and you just don't know where, you can use something like:

    echo "#include " | gcc -E -x c - | grep /types.h
    

    to find out where it's getting it from.

    Or:

    echo "#include " | gcc -E -x c - | grep /stdio.h
    

    for the other header you're worried about.

    Aside: That gcc command line stops after the pre-processing phase (-E), forces the file to be treated as C source code (-x c) and retrieves the program from standard input (-), in this case from the echo statement.

    The final grep just strips out the unimportant lines.

提交回复
热议问题