⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a garbage collector for c and c++.mht

📁 gc6.7 一个适用于CC++的内存垃圾回收器,可以像Java中那样随意的分配内存而不用释放,也不必担心内存泄漏了
💻 MHT
📖 第 1 页 / 共 4 页
字号:
-request@linux.hpl.hp.com?subject=3Dsubscribe</A>.=20
(Please ignore the instructions about web-based subscription. The listed =
web=20
site is behind the HP firewall.)=20
<P>The archives for these lists appear <A=20
href=3D"http://www.hpl.hp.com/hosted/linux/mail-archives">here</A>. The =
gc list=20
archive may also be read at <A=20
href=3D"http://dir.gmane.org/gmane.comp.programming.garbage-collection.bo=
ehmgc">gmane.org</A>.=20

<P>Some prior discussion of the collector has taken place on the gcc =
java=20
mailing list, whose archives appear <A=20
href=3D"http://gcc.gnu.org/ml/java/">here</A>, and also on <A=20
href=3D"http://lists.tunes.org/mailman/listinfo/gclist">http://lists.tune=
s.org/mailman/listinfo/gclist</A>.=20

<P>Comments and bug reports may also be sent to (<A=20
href=3D"mailto:Hans_Boehm@hp.com">mailto:Hans_Boehm@hp.com</A>) or (<A=20
href=3D"mailto:boehm@acm.org">boehm@acm.org</A>), but the gc mailing =
list is=20
usually preferred. <!-- Begin METRICS JavaScript --><!-- <script =
type=3D"text/javascript" language=3D"JavaScript" =
src=3D"http://welcome.hp-ww.com/country/us/eng/js/metrics.js"></script> =
-->
<SCRIPT language=3DJavaScript =
src=3D"http://www.hpl.hp.com/dev/hplabsmetrics.js"=20
type=3Dtext/javascript></SCRIPT>
<!-- End METRICS JavaScript --></P></BODY></HTML>

------=_NextPart_000_004A_01C711AD.5CD250D0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.hpl.hp.com/dev/hplabsmetrics.js

/* HP Production Code - Release G.7.20050110a */
/* HP Control Variables */
var s_hp_enableMetaTagCode =3D true;  // Pulls s_prop7-10 from meta tags =
if true and if s_prop7-9 are not already set.
var s_hp_optOut =3D false // WARNING: IF SET TO TRUE, PAGE WILL NOT BE =
TRACKED

/* Standard SiteCatalyst Variables */
var s_disableLegacyVars=3Dtrue
/* Specify the Report Suite ID(s) to track here */
var s_account=3D"hphqglobal,hphqwwhplabs"
/* Dynamic Accounts - note these accounts will not show up in s_account =
*/
var s_dynamicAccountSelection=3Dfalse
var s_dynamicAccountList=3D"devhphqtestaccount=3Dlocalhost,127.0.0.1"
var s_dynamicAccountMatch=3Dwindow.location.hostname + =
window.location.pathname
/* Link Tracking Config */
var s_trackDownloadLinks=3Dtrue
var s_trackExternalLinks=3Dtrue
var s_trackInlineStats=3Dtrue
var =
s_linkDownloadFileTypes=3D"exe,zip,wav,mp3,mov,mpg,avi,doc,pdf,xls,cgi,do=
t,pot,ppt,wmv,asx"
var s_linkInternalFilters=3D"hp,compaq,cpqcorp,javascript:"
var s_linkLeaveQueryString=3Dtrue
var s_linkTrackVars=3D"None"
var s_linkTrackEvents=3D"None"
/* Plugin Config */
var s_usePlugins=3Dtrue
function s_doPlugins() {
/******MTX Click Capture utility - captures links from MTX section of =
block**/
	s_hp_captureMTXClicks();

/******eCommerce Jumpid and Jumpid Pathing Plug-in - remove slashes to =
use**/
/* Populates s_eVar15-20, s_prop2, and s_prop4 with JumpID information =
*/
	s_hp_jumpIdProcessing() =20
}

/************************** PLUGINS SECTION *************************/
/* You may insert any plugins you wish to use here.                 */
/*
 * Plugin: Get Plugin Modified Value
 */
function s_vp_getValue(vs)
	{var k=3Dvs.substring(0,2)=3D=3D's_'?vs.substring(2):vs;return s_wd[
	's_vpm_'+k]?s_wd['s_vpv_'+k]:s_gg(k)}
/*
 * Plugin: Get Query String CGI Variable Value
 */
function s_vp_getCGI(vs,k)
	{var v=3D'';if(k&&s_wd.location.search){var q=3Ds_wd.location.search,
	qq=3Dq.indexOf('?');q=3Dqq<0?q:q.substring(qq+1);v=3Ds_pt(q,'&',s_cgif,
	k)}s_vpr(vs,v)}function s_cgif(t,k){if(t){var te=3Dt.indexOf('=3D'),
	sk=3Dte<0?t:t.substring(0,te),sv=3Dte<0?'True':t.substring(te+1);if(
	sk=3D=3Dk)return s_epa(sv)}return ''}
/* Macro based on getCGI and getValue
*/
function s_vp_getCGIValue(vs,k) {
	s_vp_getCGI(vs,k);
	return s_vp_getValue(vs);
}
/*
 * Plugin: Set variable to value only once per time priod:
 *         (Min, Hour, Day, Month, Year)
 *         in the specified timezone (hour offset from GMT)
 */
function s_vp_setOncePer(vs,v,period,tzOffs)
	{if(v){var n=3Ds_dt(tzOffs,0),t,st=3Ds_vh_gt(vs,v);st=3Dst?st:0;if(
	!s_vh_s(vs,v))v=3D'';else if(st){t=3Ds_dt(tzOffs,st);var min=3D(
	=
n.getMinutes()=3D=3Dt.getMinutes()),hour=3D(n.getHours()=3D=3Dt.getHours(=
)
	=
),day=3D(n.getDate()=3D=3Dt.getDate()),mon=3D(n.getMonth()=3D=3Dt.getMont=
h()
	=
),year=3D(n.getYear()=3D=3Dt.getYear());if(period=3D=3D'Ever'||(year&&((
	=
period=3D=3D'Year')||(mon&&((period=3D=3D'Month')||(day&&((period=3D=3D'D=
ay'
	=
)||(hour&&((period=3D=3D'Hour')||(min&&period=3D=3D'Min')))))))))){v=3D''=
}}
	}s_vpr(vs,v)}
/*
 * Plugin: MTX Message Tracking Plug-in
 * Pull mtxs,mtxb,mtxl, and mtxc query string parameters from the URL =
and=20
 * place the contactenated values in s_prop11.  No values returned.  =
Depends on
 * SiteCatalyst getCGI values
 */
var s_prop11,s_eVar19,s_eVar20;
function s_hp_captureMTXClicks() {
	hp_date =3D new Date();
	t_date =3D (hp_date.getYear()+1900)*10000 + (hp_date.getMonth()+1)*100 =
+ hp_date.getDate();
	t_variable0=3Ds_wd.location.href;
	s_vp_getCGI('t_variable1','mtxs');mtxs=3Ds_vp_getValue("t_variable1");
	s_vp_getCGI('t_variable2','mtxb');mtxb=3Ds_vp_getValue("t_variable2");
	s_vp_getCGI('t_variable3','mtxl');mtxl=3Ds_vp_getValue("t_variable3")
	s_vp_getCGI('t_variable4','mtxc');mtxc=3Ds_vp_getValue("t_variable4")
	s_vp_getCGI('t_variable5','mtxe');mtxe=3Ds_vp_getValue("t_variable5")
	if(mtxc.length>0) {mtxc+=3D "/";}
	else {mtxc=3D""}
	if(( mtxe <=3D 0 || (mtxe>0 && mtxe>t_date)) && =
(mtxs.length>0||mtxb.length>0||mtxl.length>0 && !(window.s_prop11 && =
s_prop11.length>0)) ){
		=
s_prop11=3Dmtxc+s_vp_getValue("t_variable1")+'|'+s_vp_getValue("t_variabl=
e2")+'|'+s_vp_getValue("t_variable3")+'|'+t_variable0;
		s_eVar19 =3D s_prop11
		s_eVar20 =3D s_prop11
	} =20
}
/*
 * Plugin: eCommerce / JumpID Tracking Plug-in
 * Capture the jumpID / eVar settings in s_prop2, s_prop4, and =
s_eVar15-20
 * prop2 contains just the jumpid, prop4 contains the jumpid path,
 * Depends on s_vp_getCGI
 */
var =
s_prop2,s_prop4,s_eVar15,s_eVar16,s_eVar17,s_eVar18,s_eVar19,s_eVar20;
function s_hp_jumpIdProcessing() {
	s_vp_getCGI('t_variable1','jumpid');
	s_prop2=3Ds_vp_getValue("t_variable1").toLowerCase();
	if(s_prop2 && s_prop2.length>0) {
		s_eVar20 =3D s_prop2;
		s_prop4 =3D s_prop2 + "|" + =
window.location.href.toLowerCase().substring(0,100);
		s_jumpIdType =3D s_prop2.substring(0,3);
		if (s_jumpIdType.indexOf('ex_') > -1){  =20
    		s_eVar15 =3D s_eVar20;
		}else if (s_jumpIdType.indexOf('in_') > -1){
    		s_eVar16 =3D s_eVar20;
		}else if (s_jumpIdType.indexOf('em_') > -1){
    		s_eVar17 =3D s_eVar20;
		}else if (s_jumpIdType.indexOf('re_') > -1){
    		s_eVar18 =3D s_eVar20;
		}else{
    		s_eVar19 =3D s_eVar20;
		}=20
	}
}
/*
 * Plugin: Fix product String
 * Strips out non-numeric values from quantity and price sections of=20
 * s_products string.  The enforceValidAlphaProductString flag will
 * turn on additional filtering that will remove non-alpha characters
 * from the remainder of the s_products string.
 */
function s_hp_fixProductString() {
	s_hp_enforceValidAlphaProductString =3D false;
	if(window.s_products && s_products.length>0) { // If s_products exists
		var h_prdarray1 =3D window.s_products.split(",");
		var i,j,k;
		for(i=3D0;i<h_prdarray1.length;i++) {
			h_prdarray2 =3D h_prdarray1[i].split(";");
			for(j=3D0;j<h_prdarray2.length;j++) {			=09
				if(s_hp_enforceValidAlphaProductString && (j=3D=3D0||j=3D=3D1)) { // =
First and Second: Strip out non alpha chars
					h_newValue=3D"";
					for(k=3D0;k<h_prdarray2[j].length;k++) {
						if(h_isValidAlphaNumeric(h_prdarray2[j].substring(k,k+1)))
							h_newValue +=3D h_prdarray2[j].substring(k,k+1);
					}
					h_prdarray2[j]=3Dh_newValue;
				}
				if(j=3D=3D2 || j =3D=3D 3) { // First and Second: Strip out non =
alpha chars
					h_newValue=3D"";
					for(k=3D0;k<h_prdarray2[j].length;k++) {
						if(h_isNumeric(h_prdarray2[j].substring(k,k+1)))
							h_newValue +=3D h_prdarray2[j].substring(k,k+1);
					}
					h_prdarray2[j]=3Dh_newValue;			=09
				}
			}
			h_prdarray1[i]=3Dh_prdarray2.join(";")
		}
		window.s_products =3D h_prdarray1.join(",")
	}
}
function h_isNumeric(test) { var valid =3D "0123456789."; =
if(valid.indexOf(test)!=3D -1) return true;
return false; }
function h_isValidAlphaNumeric(test) {=20
var valid =3D "abcdefghijklmnopqrstuvwxyz =
_-+=3D{}[]|\/?:;\"'<>,.~`!@#$%^&*()";
if(h_isNumeric(test) || !(valid.indexOf(test)=3D=3D-1 &&=20
valid.toUpperCase().indexOf(test)=3D=3D-1)) return true;
return false; }
/*
 * Plugin: Remove Report Suite Name from Account List
 * Removes a report suite ID from the s_account variable list.  This =
ensures that certain
 * deprecated report suite IDs will be removed from SiteCatalyst-enabled =
pages
 */
function s_hp_removeRSName(acct_to_remove) {
	acct_to_remove=3Dacct_to_remove.toLowerCase();
	s_account =3D s_account.toLowerCase();
	if(window.s_account && s_account.indexOf(acct_to_remove)!=3D -1) {
		var s_hp_tmpa =3D s_account.split(",");s_hp_new_acct=3D"";
		for(i=3D0;i<s_hp_tmpa.length;i++) {
			if(s_hp_tmpa[i].indexOf(acct_to_remove)=3D=3D -1) =
s_hp_new_acct+=3Ds_hp_tmpa[i] + ",";
		}
		s_account =3D s_hp_new_acct.substring(0,s_hp_new_acct.length-1);
	}
}
/* MetaTag code, V2.0 */
function s_hp_scrapeMetaTags() {
   	if (document.getElementsByTagName){
		t_lang =3D window.document.documentElement.lang
		if(!(window.s_prop8 && s_prop8.length>0)) eval("s_prop8=3D\"" + t_lang =
+ "\"")
		var allMyStuff=3Ddocument.getElementsByTagName("META");
		var myMeta;var myVariableNames;
		var myVariableMap =3D new Array();
		if(!(window.s_prop7 && s_prop7.length>0)) =
myVariableMap["target_country"] =3D "s_prop7";=20
		if(!(window.s_prop9 && s_prop9.length>0)) myVariableMap["segment"] =3D =
"s_prop9";
		for (var i=3D0; i<allMyStuff.length; i++){
		if (allMyStuff[i].tagName =3D=3D "META"){
			myMeta =3D allMyStuff[i];
				if (myVariableMap[myMeta.name] !=3D null){
					eval(myVariableMap[myMeta.name] + " =3D'"+ =
myMeta.content.toLowerCase().split("'").join("") +"'");
					}
				else{
					myContent =3D myMeta.content.toLowerCase();
					if(myContent.indexOf("charset")!=3D -1 && !(window.s_charSet && =
s_charSet.lenght>0)) {
						myCharSetArray =3D myContent.split("rset=3D");
						eval("s_charSet=3D\"" + myCharSetArray[1].toUpperCase()+"\"");
					} else {
						eval("s_" + myMeta.name + " =3D '"+ myContent.split("'").join("") =
+"'");
					}
				}
			}
		}
	}
	eval("if(!(window.s_prop7 && s_prop7.length>0)) s_prop7=3D\"undef\";")
	eval("if(!(window.s_prop8 && s_prop8.length>0)) s_prop8=3D\"undef\";")
	eval("if(!(window.s_prop9 && s_prop9.length>0)) s_prop9=3D\"undef\";")
} // End function
/*
 * Plugin Utilities v2.0 (Required For All Plugins)
 */
function s_vpr(vs,v){if(s_wd[vs])s_wd[vs]=3Ds_wd[vs];else s_wd[vs]=3D''
if(vs.substring(0,2) =3D=3D =
's_')vs=3Dvs.substring(2);s_wd['s_vpv_'+vs]=3Dv
s_wd['s_vpm_'+vs]=3D1}function s_dt(tz,t){var d=3Dnew =
Date;if(t)d.setTime(
t);d=3Dnew Date(d.getTime()+(d.getTimezoneOffset()*60*1000))
return new Date(Math.floor(d.getTime()+(tz*60*60*1000)))}
function s_vh_gt(k,v){var =
vh=3D'|'+s_c_r('s_vh_'+k),vi=3Dvh.indexOf('|'+v
+'=3D'),ti=3Dvi<0?vi:vi+2+v.length,pi=3Dvh.indexOf('|',ti),t=3Dti<0?'':
vh.substring(ti,pi<0?vh.length:pi);return t}function s_vh_gl(k){var
vh=3Ds_c_r('s_vh_'+k),e=3Dvh?vh.indexOf('=3D'):0;return =
vh?(vh.substring(0,
e?e:vh.length)):''}function s_vh_s(k,v){if(k&&v){var e=3Dnew Date,st=3D
e.getTime(),y=3De.getYear(),c=3D's_vh_'+k,vh=3D'|'+s_c_r(c)+'|',t=3Ds_vh_=
gt(k,
v);e.setYear((y<1900?y+1900:y)+5);if(t)vh=3Ds_rep(vh,'|'+v+'=3D'+t+'|','|=
'
);if(vh.substring(0,1)=3D=3D'|')vh=3Dvh.substring(1);if(vh.substring(
vh.length-1,vh.length)=3D=3D'|')vh=3Dvh.substring(0,vh.length-1);vh=3Dv
+'=3D[PCC]'+(vh?'|'+vh:'');s_c_w(c,vh,e);if(s_vh_gt(k,v)!=3D'[PCC]')
return 0;vh=3Ds_rep(vh,'[PCC]',st);s_c_w(c,vh,e)}return 1}
/************* HP FORBIDDEN SECTION - DO NOT ALTER ANYTHING BELOW THIS =

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -