📄 end.3
字号:
.th END III 4/28/75.sh NAMEend, etext, edata \*- last locations in program.sh SYNOPSIS.ft B.nfextern end;extern etext;extern edata;.ft R.fi.sh DESCRIPTIONThese names refer neither to routinesnor to locations with interesting contents.Instead, their addresses coincide with the firstaddress above the program text region.it (etext),above the initialized data region.it (edata),or uninitialized data region.it (end).The last is the same as the program break.Values are given to these symbolsby the link editor.it ld(I)when, and only when, they are referred to but not definedin the set of programs loaded..s3The usage of these symbols is rather specialized, but one plausiblepossibility is.s3.nf extern end; ... ... = brk(&end+...);.fi.s3(see.it break(II)).The problem with this is that it ignores any othersubroutines which may want to extend core for their purposes;these include.it sbrk(see.it break(II)),.it alloc(III),and also secret subroutines invoked by the profile(\-p) option of .it cc.Of course it was for the benefit of such systemsthat the symbols were invented,and user programs, unless they are in firm controlof their environment,are wise not to refer tothe absolute symbols directly..s3One technique sometimes usefulis to call.it sbrk(0),which returns the value of the current program break,instead of referring to.it &end,which yields the program break at the instant execution started..s3These symbols are accessible from assemblylanguageif it is remembered that they should be prefixed by`\*_'.sh "SEE ALSO"break (II), alloc (III).sh BUGS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -