Xref: utzoo comp.sys.ibm.pc.programmer:1773 alt.msdos.programmer:1712 Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!uwm.edu!bionet!ucselx!petunia!unmvax!sci.ccny.cuny.edu!cucard!dasys1!cooper!phri!cmcl2!yale!cs.utexas.edu!sdd.hp.com!zaphod.mps.ohio-state.edu!brutus.cs.uiuc.edu!psuvax1!psuvm!barilvm!p88035 From: P88035@BARILVM.BITNET (Ephraim Vider) Newsgroups: comp.sys.ibm.pc.programmer,alt.msdos.programmer Subject: Re: __acrtused Message-ID: <90116.104406P88035@BARILVM.BITNET> Date: 3 Jun 90 11:46:38 GMT References: <139@matrix.UUCP> Distribution: na Organization: Bar-Ilan University Computing Center, Israel Lines: 34 In article <139@matrix.UUCP>, venkat@matrix.UUCP (D Venkatrangan) says: > >The assembly listing from a MS-C compiler shows a 'EXTRN __acrtused ABS' >entry. >If these objects are linked in without the crt0.obj from the library, this >symbol ends up being undefined. > >What specific role does the __acrtused variable perform during linking/loading >and during program execution. If I choose to define this public, what should >it be initialized to? > The purpose of this 'variable' is exactly that - to force the linker to link in crt0.obj from the xLIBCy.LIB library. This allows you to specify your objects only and not to be conerned with the startup code. As this symbol is declared 'ABS' it means it was defined something like this: PUBLIC __acrtused __acrtused EQU 0 ; the value is not important N.B: Using MSC objects or libraries with another C compiler is something I didn't try, but I suppose you'll have to also write your own __chkstk (local variable allocator). And even then some library functions might not work without the startup code. Hope this helps Ephraim ( no signature yet :-|)