如何看一个类型的原型

20 views
Skip to first unread message

Mao

unread,
Sep 25, 2013, 12:59:00 AM9/25/13
to learning-l...@googlegroups.com
老师您好:

有时候我想知道一些类型的原型, 比如pid_t . 
我用vim ctags 跳转,跳过去之后是 typedef __pid_t pid_t;
问题1,我怎样进一步去查__pid_t的原型?
问题2,为什么好多变量/类型/函数都喜欢以_开头? 这有什么特殊的含义吗?

谢谢老师
Kernel Mao

Sean Soong

unread,
Sep 26, 2013, 6:29:33 AM9/26/13
to learning-l...@googlegroups.com
1. 再去头文件里找__pid_t的定义就是了。最终一定会是C语言的某个基本类型。
2. 以_或__开头的含有private的含义,一般是不希望成为公开接口的。也有一些编译器特性用__开头,例如__VA_ARGS__。


2013/9/25 Mao <maoz...@gmail.com>

--
您收到此邮件是因为您订阅了 Google 网上论坛的“Linux C/C++/系统编程 一站式学习”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 learning-linux-c...@googlegroups.com
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。



--
http://songjinshan.com/akabook/

李佳

unread,
Sep 26, 2013, 9:29:45 PM9/26/13
to learning-l...@googlegroups.com
更简单的办法是,假如你的源文件是main.c:
gcc -E main.c > main.pre,这时候编译器只做预处理,并不编译、链接,
然后打开main.pre文件,
搜"pid_t", 发现是“typedef __pid_t pid_t;”定义,
然后再搜"__pid_t",发现是“typedef int __pid_t;”定义,
OK!


--

 
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 learning-linux-c-cpp+unsub...@googlegroups.com
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。


lilinly225

unread,
Sep 28, 2013, 7:53:25 AM9/28/13
to learning-l...@googlegroups.com
这个地方, gcc 的-E选项,生成的输出文件不是 *.i 文件吗?  怎么回事*.pre 文件呢??

Sean Soong

unread,
Sep 29, 2013, 7:12:41 AM9/29/13
to learning-l...@googlegroups.com
自己创建的文件,想起什么名字还不行


2013/9/28 lilinly225 <lilin...@gmail.com>

byguess

unread,
Sep 30, 2013, 12:35:15 AM9/30/13
to learning-l...@googlegroups.com
�� 2013��09��25�� 12:59, Mao �:
> ��ʦ��ã�
>
> ��ʱ������֪��һЩ���͵�ԭ�ͣ� ����pid_t .
> ����vim ctags ��ת�����ȥ֮���� typedef __pid_t pid_t;
> ����1���������һ��ȥ��__pid_t��ԭ�ͣ�
> ����2��Ϊʲô�ö����/����/����ϲ����_��ͷ�� ����ʲô����ĺ�����
>
> лл��ʦ
> Kernel Mao
>
> --
> ���յ����ʼ�����Ϊ������ Google ������̳�ġ�Linux C/C++/ϵͳ��� һվ
> ʽѧϰ����̳��
> Ҫ�˶�����̳��ֹͣ���մ���̳�ĵ����ʼ����뷢�͵����ʼ��� learning-
> linux-c-cpp...@googlegroups.com��
> Ҫ�鿴���ѡ������ https://groups.google.com /groups/opt_out��
> <https://groups.google.com/groups/opt_out%A1%A3>
��������1, Ӧ���ڸ�Դ�����ļ�include��ͷ�ļ����ж��塣
��������2, ��'_'��ͷ�ı����������ϵͳ����ġ�����Ϊ�����Լ�����ı�����
��ֿ���

Reply all
Reply to author
Forward
0 new messages