首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

Linux的*h和*cpp在哪里

2014-01-01 
Linux的*.h和*.cpp在哪里初学者在Linux下写C/C++程序,往往不清楚#include一个头文件是从哪里包含进来的,这

Linux的*.h和*.cpp在哪里
初学者在Linux下写C/C++程序,往往不清楚#include一个头文件是从哪里包含进来的,这些头文件的实现又是在哪里。另外,其中那些部分是C的运行时库提供的。因此,本文解决以下问题:1. Linux C/C++程序头文件在哪里2. Linux C/C++源程序在哪里3. glibc4. 动态链接库和静态链接库?************************************************************************************************************************************1. Linux C/C++程序头文件在哪里?? ? 大部分在/usr/include/下? ? 一部分在/usr/lib/**下?2. Linux C/C++源程序在哪里? ? 有些在Linux内核中(如系统调用)? ? 有些在glibc中(如C标准库),glibc只有库没有源码,库在/usr/lib/libc.so和/usr/lib/libc.a? ? 有些在第三方库中(/lib和/usr/lib中)?3. glibc? ? glibc, The GNU C Library, 是gnu发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。由于 glibc 囊括了几乎所有的 UNIX 通行的标准,可以想见其内容包罗万有。而就像其他的 UNIX 系统一样,其内含的库文件分散于系统的树状目录结构中,撑起整个操作系统。?4. 动态链接库和静态链接库? ? 为何include了一个头文件,就可以使用其中声明的东西,系统是在哪里找到这些东西的实现的。有必要了解下“动态链接库”和“静态链接库”的原理、制作过程以及他们生成的文件。详见我另外的博客。注意:在使用动态链接库时(使用静态链接库亦然),?????????? 在写C/C++程序时,保证能include到/usr/include或/usr/lib/*下的.h文件;?????????? 在运行C/C++程序时,保证能链接到glibc提供的动态链接库文件/usr/lib/libc.so?综上,使用系统或者第三方提供的函数库时,??????????? 一定要有函数的声明,在.h文件中??????????? 一定要有函数的实现,在.c或.so或.a中(三者有其一即可)?参考文档:http://blog.csdn.net/ysdaniel/article/details/7043381glibc百度百科 http://baike.baidu.com/link?url=bkQ8yk_HsvMtDpIR60rAM0AweMDOO-ZkhokzyHr3DYtQ6UutgGjtkqn2quyuULVhg3cH8EmJujKRGR1KK1icFq?????????????????

?

热点排行