gcc手册

源代码在线查看: input-section-basics.html

软件大小: 1194 K
上传用户: Erlin
关键词: gcc
下载地址: 免注册下载 普通下载 VIP

相关代码

				

				

				Untitled

				

				

				

				

				

				

				

				

				Node:Input Section Basics,

				Next:Input Section Wildcards,

				Up:Input Section

				

				

				

				Input section basics

				

				   An input section description consists of a file name optionally followed

				by a list of section names in parentheses.

				

				   The file name and the section name may be wildcard patterns, which we

				describe further below (see Input Section Wildcards).

				

				   The most common input section description is to include all input

				sections with a particular name in the output section.  For example, to

				include all input .text sections, you would write:

				     *(.text)

				     

				

				Here the * is a wildcard which matches any file name.  To exclude a list

				of files from matching the file name wildcard, EXCLUDE_FILE may be used to

				match all files except the ones specified in the EXCLUDE_FILE list.  For

				example:

				     (*(EXCLUDE_FILE (*crtend.o *otherfile.o) .ctors))

				     

				   will cause all .ctors sections from all files except crtend.o and

				otherfile.o to be included.

				

				   There are two ways to include more than one section:

				     *(.text .rdata)

				     *(.text) *(.rdata)

				     

				

				The difference between these is the order in which the .text and

				.rdata input sections will appear in the output section.  In the

				first example, they will be intermingled, appearing in the same order as

				they are found in the linker input.  In the second example, all

				.text input sections will appear first, followed by all

				.rdata input sections.

				

				   You can specify a file name to include sections from a particular file. 

				You would do this if one or more of your files contain special data that

				needs to be at a particular location in memory.  For example:

				     data.o(.data)

				     

				

				   If you use a file name without a list of sections, then all sections in

				the input file will be included in the output section.  This is not

				commonly done, but it may by useful on occasion.  For example:

				     data.o

				     

				

				   When you use a file name which does not contain any wild card

				characters, the linker will first see if you also specified the file

				name on the linker command line or in an INPUT command.  If you

				did not, the linker will attempt to open the file as an input file, as

				though it appeared on the command line.  Note that this differs from an

				INPUT command, because the linker will not search for the file in

				the archive search path.

				

				   

				

							

相关资源