C/C++( Linux mac)标准库的头文件有什么规律吗,总是忘记函数在那个文件怎么破? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lowett
V2EX    C

C/C++( Linux mac)标准库的头文件有什么规律吗,总是忘记函数在那个文件怎么破?

  •  
  •   lowett 2019-06-06 17:33:36 +08:00 3655 次点击
    这是一个创建于 2344 天前的主题,其中的信息可能已经有所发展或是发生改变。

    使用的频次不是很高,记得 api 函数名,但是不记得在那个头文件,怎么弄?

    还有就是头文件点进去也没注释,也看不出要传的是什么?

    比如,什么也看不出来呀:

    int open(const char *, int, ...) __DARWIN_ALIAS_C(open); /pre> 

    对于熟悉的还有都能记得,有时候是通过代码提示进去,什么也看不到。

    现在装了个 Dash,每次都去搜,有点烦,求帮助。

    开发环境:
    Mac os

    Clion/Vscode

    14 条回复    2019-06-12 09:52:38 +08:00
    besto
        1
    besto  
       2019-06-06 17:35:18 +08:00
    man open
    whoisnian
        2
    whoisnian  
       2019-06-06 17:42:52 +08:00   1
    $ man man
    ...
    1 可执行程序或 shell 命令
    2 系统调用(内核提供的函数)
    3 库调用(程序库中的函数)
    4 特殊文件(通常位于 /dev)
    5 文件格式和规范,如 /etc/passwd
    6 游戏
    7 杂项(包括宏包和规范,如 man(7),groff(7))
    8 系统管理命令(通常只针对 root 用户)
    9 内核例程 [非标准
    ...

    所以一般 man 2 open 或者 man 3 open,找自己需要的。
    ysc3839
        3
    ysc3839  
       2019-06-06 17:45:59 +08:00 via Android
    如果是 C/C++ 标准中的函数还可以去 https://en.cppreference.com 查询。
    lolcat
        4
    lolcat  
       2019-06-06 17:48:48 +08:00
    man 3 open
    zhuangzhuang1988
        5
    zhuangzhuang1988  
       2019-06-06 17:52:22 +08:00   1
    哈哈哈哈哈
    这时候你就知道 windows 的函数设计是多么合理
    以及 ide 加成是多么好。
    ysc3839
        6
    ysc3839  
       2019-06-06 17:55:33 +08:00 via Android
    @zhuangzhuang1988 Windows 的头文件里面也没有注释的,不懂的还是得查微软文档。而且 Windows 没有离线的 man。
    zhuangzhuang1988
        7
    zhuangzhuang1988  
       2019-06-06 18:11:42 +08:00   2
    @ysc3839
    HANDLE
    WINAPI
    CreateFileW(
    _In_ LPCWSTR lpFileName,
    _In_ DWORD dwDesiredAccess,
    _In_ DWORD dwShareMode,
    _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
    _In_ DWORD dwCreationDisposition,
    _In_ DWORD dwFlagsAndAttributes,
    _In_opt_ HANDLE hTemplateFile
    );
    起码会告诉 输入输出, 名字也很清楚,没啥缩写
    MeteorCat
        8
    MeteorCat  
       2019-06-06 18:14:14 +08:00 via Android
    jb 的 IDE 有定位而且源代码都有文档
    lowett
        9
    lowett  
    OP
       2019-06-06 19:07:16 +08:00
    @MeteorCat 没有吧
    MeteorCat
        10
    MeteorCat  
       2019-06-06 19:29:35 +08:00 via Android
    @lowett 我都是 clion 点击代码跳转进去的,一般里面有些有写明的
    FrankHB
        11
    FrankHB  
       2019-06-12 00:08:16 +08:00
    常备文档,不要头铁死记硬背。
    FrankHB
        12
    FrankHB  
       2019-06-12 00:10:45 +08:00
    @zhuangzhuang1988 合理? CreateProcessEx ? CreateFile2 ??

    虽然 dup2 之类也欠揍,但起码少指关节劳损……
    FrankHB
        13
    FrankHB  
       2019-06-12 00:15:55 +08:00
    @zhuangzhuang1988
    另外,你真的敢光看声明不看一坨 dw 之类的 flags 什么意思么……你敢背得清楚 MSDN 里对某个 flags 组合的可用性和版本要求么……

    (反过来小声 bb:你敢保证 MSDN 没 bug 么……)(顺便当年随便看 ucrt 源码都能发现 errno 错误码映射错的……)

    还有,GetVersionEx 为什么被 deprecated 然后用一坨 zz 接替了,这个逻辑你能解释一下么……
    zhuangzhuang988
        14
    zhuangzhuang1988  
       2019-06-12 09:52:38 +08:00
    @FrankHB 幻の上帝?? 头像好熟悉
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2988 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 13:31 PVG 21:31 LAX 05:31 JFK 08:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86