― absolutego (ex machina), Sunday, 3 April 2005 21:16 (twenty-one years ago)
― caitlin (caitlin), Sunday, 3 April 2005 21:21 (twenty-one years ago)
― absolutego (ex machina), Sunday, 3 April 2005 21:23 (twenty-one years ago)
― caitlin (caitlin), Sunday, 3 April 2005 21:25 (twenty-one years ago)
xpost
I can't imagine that header files take up that much of the compile time..... I'd imagine that most of the time is spent doing optimizations: reordering, register renaming, optimizing of caller/callee save registers for fxns that don't use some of them, unrolling loops, inlining, etc.
― absolutego (ex machina), Sunday, 3 April 2005 21:27 (twenty-one years ago)
― shieldforyoureyes, Sunday, 3 April 2005 21:29 (twenty-one years ago)
(xpost)
― caitlin (caitlin), Sunday, 3 April 2005 21:32 (twenty-one years ago)
― KeefW (kmw), Sunday, 3 April 2005 21:35 (twenty-one years ago)
Shouldn't GCC cache the generated header file if the preprocessor symbols used in it are the same as the previous instance of parsing it?
― absolutego (ex machina), Sunday, 3 April 2005 21:36 (twenty-one years ago)
Or I might be totally off my rocker.
― absolutego (ex machina), Sunday, 3 April 2005 21:38 (twenty-one years ago)
― caitlin (caitlin), Sunday, 3 April 2005 21:41 (twenty-one years ago)
I'd have thought GCC would always have had the latest shiny bells and whistles, but it doesn't seem to be the case. I wonder why. MS compilers have used precompiled headers for about a decade.
― KeefW (kmw), Sunday, 3 April 2005 21:43 (twenty-one years ago)
― KeefW (kmw), Sunday, 3 April 2005 21:45 (twenty-one years ago)
-- KeefW (m...) (webmail), April 3rd, 2005 5:45 PM. (kmw) (later) (link)
Yes, but what if we care about the start up time of our applications?
― absolutego (ex machina), Sunday, 3 April 2005 21:47 (twenty-one years ago)
― KeefW (kmw), Sunday, 3 April 2005 21:50 (twenty-one years ago)
― absolutego (ex machina), Sunday, 3 April 2005 21:52 (twenty-one years ago)
― shieldforyoureyes, Sunday, 3 April 2005 21:52 (twenty-one years ago)
Because each recompilation of a library or executable may place functions at different addresses, a newly installed library or executable's pre- binding information might not match the libraries already on the disk. When the dynamic linker determines that prebinding information for a library could be invalid, it defaults to resolving all the names for that library, and for all libraries referenced by that library, losing any advantage of having the prebinding information.
update_prebinding ensures that prebinding information is up-to-date after new prebound applications or new versions of system libraries are installed. Given a list of the newly installed files in a package, update_prebinding finds all the libraries and executables that may dynam- ically load the changed files. If so, the prebinding information must be updated, and update_prebinding performs redo_prebinding to update that file. update_prebinding builds a dependency graph to minimize the files that must be updated, and applies a few other heuristics to only call redo_prebinding when necessary.
― absolutego (ex machina), Sunday, 3 April 2005 21:53 (twenty-one years ago)
I think that's roughly what the thing you've just posted says.
― KeefW (kmw), Sunday, 3 April 2005 21:55 (twenty-one years ago)
that program updates this information to avoid the lookups
― absolutego (ex machina), Sunday, 3 April 2005 21:58 (twenty-one years ago)
― absolutego (ex machina), Sunday, 3 April 2005 21:59 (twenty-one years ago)
― shieldforyoureyes, Sunday, 3 April 2005 21:59 (twenty-one years ago)
Anyway, on another subject have any of you sysadmin types got any experience of Citrix for delivering Windows apps from a server? If so, how has it been?
― KeefW (kmw), Sunday, 3 April 2005 22:02 (twenty-one years ago)
― absolutego (ex machina), Sunday, 3 April 2005 22:06 (twenty-one years ago)
― absolutego (ex machina), Sunday, 3 April 2005 22:09 (twenty-one years ago)
Solution....
― absolutego (ex machina), Sunday, 3 April 2005 22:14 (twenty-one years ago)
― shieldforyoureyes, Sunday, 3 April 2005 22:20 (twenty-one years ago)
The -I option. Add -I/opt/local/include to the command line.
― caitlin (caitlin), Monday, 4 April 2005 10:04 (twenty-one years ago)
― absolutego (ex machina), Monday, 4 April 2005 13:53 (twenty-one years ago)
Some additional environments variables affect the behavior of the pre-processor.
CPATHC_INCLUDE_PATHCPLUS_INCLUDE_PATHOBJC_INCLUDE_PATH Each variable's value is a list of directories separated by a spe- cial character, much like PATH, in which to look for header files. The special character, "PATH_SEPARATOR", is target-dependent and determined at GCC build time. For Windows-based targets it is a semicolon, and for almost all other targets it is a colon.
CPATH specifies a list of directories to be searched as if speci- fied with -I, but after any paths given with -I options on the command line. This environment variable is used regardless of which language is being preprocessed.
The remaining environment variables apply only when preprocessing the particular language indicated. Each specifies a list of directories to be searched as if specified with -isystem, but after any paths given with -isystem options on the command line.
In all these variables, an empty element instructs the compiler to search its current working directory. Empty elements can appear at the beginning or end of a path. For instance, if the value of CPATH is ":/special/include", that has the same effect as -I. -I/special/include.
― koogs (koogs), Monday, 4 April 2005 14:30 (twenty-one years ago)
― Mr Noodles (Mr Noodles), Monday, 4 April 2005 14:33 (twenty-one years ago)
― absolutego (ex machina), Monday, 4 April 2005 14:40 (twenty-one years ago)
― caitlin (caitlin), Monday, 4 April 2005 14:42 (twenty-one years ago)