Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!elroy.jpl.nasa.gov!ncar!groucho!steve From: steve@groucho.ucar.edu (Steve Emmerson) Newsgroups: comp.lang.c Subject: Re: low level optimization Message-ID: <11121@ncar.ucar.edu> Date: 19 Apr 91 03:47:23 GMT References: <21660@lanl.gov> <1991Apr17.225944.15261@zoo.toronto.edu> <1991Apr18.190403.29049@Think.COM> <21846@lanl.gov> <1991Apr18.233807.19552@zoo.toronto.edu> <21868@lanl.gov> Sender: news@ncar.ucar.edu Organization: University Corporation for Atmospheric Research (UCAR) Lines: 18 In <21868@lanl.gov> jlg@cochiti.lanl.gov (Jim Giles) writes: >I see that I'm going to have to give a specific example. Suppose >that functions A and B are in two separate files. Suppose that >I compile them 'together' in some way (that is, the compiler makes >some use of internal knowledge of B while translating A and vice-versa). >Now, suppose I _change_ A and retranslate just A (I do _not_ retranslate >B). The standard requires that I still be able to link both into a >single program. ... I don't believe the C Standard requires that a compiler capable of the above generate the separate "object" files A.o and B.o when they are somehow "compiled together". My understanding is that it could instead generate the "object" file AB.o. Thus, your problem can't occur: you can't link A.o against a re-compiled B.o *unless* you generated A.o separately as well. Steve Emmerson steve@unidata.ucar.edu ...!ncar!unidata!steve