- 浏览: 1476553 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
gcc中include文件的搜索路径 (2011-04-27 10:06:37)转载▼
标签: gcc include 头文件搜索路径 it 分类: 编程
这是一个不复杂的问题;但是网上很多回答都不全面;偶找了一个比较全面的(测试过):
引用http://blog.csdn.net/fjb2080/archive/2010/01/23/5247494.aspx
#include有两种形式,例如如下:
用尖括号表示的是包含系统的头文件,用双引号包含的是用户自己的头文件。
下面是使用#include时的一些规则:
1)使用<>包含的头文件一般会先搜索-I选项后的路径(即用gcc编译时的-I选项),之后就是标准的系统头文件路径。
2)而用""号包含的头文件会首先搜索当前的工作目录,之后的搜索路径才是和<>号包含的头文件所搜索的路径一样的路径。
3)在unix系统中,一般标准的头文件路径为:
4)一般有两条独立的头文件搜索路径链。一条是-I后面指示的路径,另一条是系统头文件路径和以-prefix, -withprefix,和-idirafter后操作的目录。
5)如果gcc编译的是c++的程序,那么在搜索上面所说的目录前,预处理器会首先搜索/usr/include/g++v3目录,v3是你的gcc中c++的版本。
6)在头文件中运行增加路径名,例如:#include <sys/time.h>,那么就会在搜索的系统目录的sys目录下寻找time.h文件。
7)一般会用斜线来作为目录的分割符,甚至有些系统使用不同的字符作为分割符(例如反斜线)。
8)#include后面所包含的文件名就是文件名,例如abc*d.h这个文件,必须就要有abc*d.h这个文件,而不是abckkkd.h这些文件,*不能解释成任
何的字符的意思,而是实实在在的一个字符。
9)可以使用一个指定的名字作为#include指令后面的头文件,例如:
10)在#include 指令的后面,除了所包含的头文件和注释外,不能包含其它的任何东西了。
11)#line指令不能改变当前的工作目录。
12)-I-选项可以改变-I指定的搜索目录。
转载:http://blog.sina.com.cn/s/blog_4b9eab320100re29.html
标签: gcc include 头文件搜索路径 it 分类: 编程
这是一个不复杂的问题;但是网上很多回答都不全面;偶找了一个比较全面的(测试过):
引用http://blog.csdn.net/fjb2080/archive/2010/01/23/5247494.aspx
#include有两种形式,例如如下:
#include <syshead.h> #include "userhead.h"
用尖括号表示的是包含系统的头文件,用双引号包含的是用户自己的头文件。
下面是使用#include时的一些规则:
1)使用<>包含的头文件一般会先搜索-I选项后的路径(即用gcc编译时的-I选项),之后就是标准的系统头文件路径。
2)而用""号包含的头文件会首先搜索当前的工作目录,之后的搜索路径才是和<>号包含的头文件所搜索的路径一样的路径。
3)在unix系统中,一般标准的头文件路径为:
/usr/local/include /usr/lib/gcc-lib/target/version/include /usr/target/include /usr/include
4)一般有两条独立的头文件搜索路径链。一条是-I后面指示的路径,另一条是系统头文件路径和以-prefix, -withprefix,和-idirafter后操作的目录。
5)如果gcc编译的是c++的程序,那么在搜索上面所说的目录前,预处理器会首先搜索/usr/include/g++v3目录,v3是你的gcc中c++的版本。
6)在头文件中运行增加路径名,例如:#include <sys/time.h>,那么就会在搜索的系统目录的sys目录下寻找time.h文件。
7)一般会用斜线来作为目录的分割符,甚至有些系统使用不同的字符作为分割符(例如反斜线)。
8)#include后面所包含的文件名就是文件名,例如abc*d.h这个文件,必须就要有abc*d.h这个文件,而不是abckkkd.h这些文件,*不能解释成任
何的字符的意思,而是实实在在的一个字符。
9)可以使用一个指定的名字作为#include指令后面的头文件,例如:
#define BOGHEADER "bog_3.h" #include BOGHEADER
10)在#include 指令的后面,除了所包含的头文件和注释外,不能包含其它的任何东西了。
11)#line指令不能改变当前的工作目录。
12)-I-选项可以改变-I指定的搜索目录。
转载:http://blog.sina.com.cn/s/blog_4b9eab320100re29.html
发表评论
-
xl2tp 备份
2019-09-24 16:25 6892019年9月24日更新: 注意,需要开启firewall ... -
sdl笔记
2019-01-31 17:19 732sdl教程教程 https://github.com/Twin ... -
tinyemu
2019-01-24 17:59 1432参考https://bellard.org/jslinux/t ... -
aws搭建xl2tp给iphone使用
2018-12-26 21:37 18902019年12月26日 可以参考原来的配置 https:// ... -
consul的基本使用
2017-06-27 11:13 1399### 安装 [centos7上consul的安装](ht ... -
lvs的helloworld
2017-06-13 20:36 596###################lvs######### ... -
系统调用的helloworld
2017-05-04 16:14 632《2.6内核标准教程》 p293 #include < ... -
bitcoin和cgminer的安装
2017-04-05 22:45 1958参考 http://blog.csdn.net/rion_ch ... -
ceph安装和常用命令
2017-03-21 21:55 953/etc/hosts ssh-keygen ssh-copy- ... -
mobile terminal 笔记
2016-12-02 15:35 624找出旧的iphone4 越狱之后可以变个小操作系统 mobi ... -
socket基础和select(python)
2016-06-14 17:21 1799上接 c语言的socket基础ht ... -
socket基础(c语言)
2016-06-14 16:45 994不使用select 普通的基础socket连接,对多个客户端的 ... -
ffmpeg+nginx 的直播(2,直播摄像头和麦克风)
2016-05-28 20:21 4357假设我的服务器是centos7 192.168.139.117 ... -
ffmpeg+nginx 的直播(1,直播播放的视频文件)
2016-05-26 17:11 659164位操作系统centos7 ############ 1.一 ... -
socat和netcat(nc)
2016-04-29 22:36 1742转 原文链接: http://www.wenquan.name ... -
neutron基础九(qemu nat网络)
2016-02-06 17:21 1621接上基础八,kvm透传nested忽略 1.在主机ce ... -
neutron基础八(qemu 桥接网络)
2016-02-06 13:13 1542qemu的桥接和nat的qemu启动命令是一样的,但是后续的脚 ... -
neutron基础七(qemu tap)
2016-02-02 17:02 1030使用qemu 建立个虚拟机 然后用tap设备, 根据基础六,t ... -
neutron基础六(bridge fdb)
2016-01-28 18:30 2263转发表 在三台机器上建立三个namespace 192.16 ... -
南北流量
2016-01-23 23:26 1822一、三层网络架构: 接入层:负责服务器的接入和隔离 汇聚层:汇 ...
相关推荐
GCC通过一系列环境变量来管理编译过程中的头文件和库文件搜索路径。了解并合理设置这些环境变量对于提高编译效率至关重要。 - **`C_INCLUDE_PATH`** - 用途:当编译C程序时,此环境变量用于指定头文件的搜索路径...
Linux 下 gcc 编译中的头文件与库文件搜索路径相关问题 Linux 下的 gcc 编译中,头文件和库文件的搜索路径是编译器在编译过程中查找头文件和库文件的路径。编译器会在指定的目录中查找头文件和库文件,如果没有找到...
本文档主要讲解了如何在Freescale Kinetis微控制器上使用Kinetis Design Studio (KDS) 和 GCC工具链通过编辑链接文件 (.ld) 来对代码和数据在内存中的位置进行重分配。GCC链接器是处理编译后对象文件并将它们组合成...
在Linux系统中,GCC(GNU Compiler Collection)是一个广泛使用的开源编译器套件,它支持C、C++、Fortran、Objective-C等多种编程语言。GCC不仅包含编译器,还包括预处理器、链接器和其他相关工具,是软件开发的重要...
GCC LD中文手册 GCC LD中文手册是一本详细的连接器...GCC LD中文手册是一本详细的连接器手册,提供了 LD 命令行选项、连接脚本基本语法、架构类型、输入文件格式、输出文件格式、符号处理和库文件搜索等方面的知识点。
在本文中,我们将探讨如何使用 GCC 生成无格式二进制文件,并分析生成的二进制文件的结构。 一、生成无格式二进制文件 要生成无格式二进制文件,我们可以使用以下命令: gcc -c test.c -ld -o test -Ttext 0x0 -e...
**GCC中文手册** GCC,全称GNU Compiler Collection(GNU编译器集合),是GNU项目的一部分,由自由软件基金会(FSF)维护和发展。这个开源工具集不仅包含C、C++编译器,还支持Ada、Fortran、Objective-C、Go等多种...
**GCC中文手册** GCC,全称GNU Compiler Collection(GNU编译器集合),是GNU项目的一部分,由自由软件基金会(FSF)维护...而GCC中文手册则为中文用户提供了方便快捷的学习途径,助力他们在编程旅程中更好地驾驭GCC。
在GCC中文手册中,你将找到关于GCC编译器的详细信息,包括如何配置、安装和使用GCC,以及各种编译选项的解释。这份手册是学习和调试GCC编译过程的重要参考资料。 **编译器基础** 编译器是将高级编程语言转换为机器...
GCC 编译器可以将源代码编译成目标文件,或者直接生成可执行文件。它支持多种编程语言,包括 C、C++、Java 等。GCC 编译器的基本使用格式为: `gcc [选项] 文件名` 其中,`gcc` 是编译器的命令,`[选项]` 是可选的...
在安装GCC的过程中,确保所有必要的依赖项都已正确安装至关重要,因为缺少任何一个关键组件都可能导致编译失败或产生错误的二进制文件。 依赖库的种类繁多,例如: 1. **Glibc**:这是GNU C Library的简称,是...
在Linux系统中,GCC通常可以通过包管理器(如apt、yum或dnf)轻松安装。手册会详细介绍如何下载源代码,配置编译选项,以及编译和安装GCC的过程。这对于想要自定义编译或了解编译过程的用户尤其有用。 **使用GCC...
在离线环境中编译文件,GCC提供了强大的功能,使得开发者可以在没有网络连接的情况下完成代码编译。 **一、GCC的编译过程** GCC的编译过程通常包括四个步骤: 1. **预处理(Preprocessing)**:GCC会处理源代码中...
6. **多文件项目**:当你有多个源文件需要一起编译时,GCC如何管理头文件、包含路径和依赖关系。`make`工具常用于自动化这个过程。 7. **C++特性支持**:如果你使用的是GCC的C++编译器`g++`,那么了解C++的各种特性...
在这个例子中,通过观察这些文件,我们可以深入理解GCC如何将源代码一步步转化为计算机可执行的程序。这有助于优化代码,调试问题,以及了解底层硬件如何执行高级语言指令。学习GCC编译原理对于软件开发人员来说至关...
- `-c`:仅执行预处理、编译和汇编步骤,生成目标文件,如`gcc -c hello.c`会创建一个.hello.o的文件。 - `-S`:只进行预处理和编译,生成汇编代码,如`gcc -S hello.c`将产生一个.hello.s的汇编文件。 - `-E`:仅...
配置过程中可以指定安装路径、编译选项等。 3. **编译流程**:GCC的编译过程包括预处理、编译、汇编和链接四个步骤。预处理处理宏定义和条件编译;编译将源代码转化为汇编代码;汇编将汇编代码转化为目标代码;链接...
GCC编译数据库并不是一个传统意义上的数据库,而是一种存储项目编译指令的数据结构或文件格式,通常用于记录编译过程中使用的命令行选项。这种数据库有助于自动化工具理解如何编译项目中的每个源文件,从而简化了...