Home » Developing U++ » Releasing U++ » U++ as .lib
Re: U++ as .lib [message #11711 is a reply to message #11704] |
Sun, 23 September 2007 11:04 |
|
mirek
Messages: 13975 Registered: November 2005
|
Ultimate Member |
|
|
cbpporter wrote on Sun, 23 September 2007 04:19 |
And I think it would be very useful to have an article on exactly how BLITZ works, what do you have to do to achieve it and why is it faster. Maybe other projects could benefit from it
(like at my work place where the slightest modification in a file requires a 1-2 minute rebuild).
|
Hm, in ToDo for eons.
OK, so quick BLITZ overview:
First, BLITZ processes packages (not the whole program) - each package can have a single BLITZ block.
Only .cpp including files with guards (#ifdef H... #define H) can qualify to be part of BLITZ block. Alternatively, you can force inclusion by #pragma BLITZ_APPROVE (also for header) or exlusion by #pragma BLITZ_PROHIBIT.
AND only files older than one hour qualify for BLITZ block. (Because you do not want files you work on to be in BLITZ block).
Also, the whole package can be excluded based on .upp settings.
Then files are scanned for any #defines, these are undefined at the end of file. BLITZ block is in fact a file generated into output directory that include all BLITZ approved files and gets compiled instead (it is named $blitz.cpp, you can check the output directory for details).
Now a dirty trick:
#ifdef flagBLITZ
#define MK__s MK__s_(COMBINE(BLITZ_INDEX__, __LINE__))
#else
#define MK__s MK__s_(__LINE__)
#endif
Blitz block defines BLITZ_INDEX__ for each file, in order to give a library code chance to define unique static variable names...
OK, I believe that is all about the BLITZ magic:)
Mirek
|
|
|
|
|
U++ as .lib
By: mirek on Thu, 20 September 2007 15:07
|
|
|
Re: U++ as .lib
By: sergei on Thu, 20 September 2007 15:28
|
|
|
Re: U++ as .lib
By: mirek on Thu, 20 September 2007 17:00
|
|
|
Re: U++ as .lib
By: sergei on Sat, 22 September 2007 17:44
|
|
|
Re: U++ as .lib
By: sergei on Sat, 22 September 2007 22:22
|
|
|
Re: U++ as .lib
By: cbpporter on Sun, 23 September 2007 00:04
|
|
|
Re: U++ as .lib
By: sergei on Sun, 23 September 2007 01:43
|
|
|
Re: U++ as .lib
By: cbpporter on Sun, 23 September 2007 10:19
|
|
|
Re: U++ as .lib
By: mirek on Sun, 23 September 2007 11:04
|
|
|
Re: U++ as .lib
By: mirek on Sun, 23 September 2007 14:11
|
|
|
Re: U++ as .lib
By: sergei on Sun, 23 September 2007 16:46
|
|
|
Re: U++ as .lib
By: mirek on Sun, 23 September 2007 19:04
|
|
|
Re: U++ as .lib
By: sergei on Sun, 23 September 2007 19:30
|
|
|
Re: U++ as .lib
By: mirek on Sun, 23 September 2007 19:55
|
|
|
Re: U++ as .lib
By: sergei on Sun, 23 September 2007 20:05
|
|
|
Re: U++ as .lib
By: mirek on Sun, 23 September 2007 21:34
|
|
|
Re: U++ as .lib
By: sergei on Sun, 23 September 2007 21:59
|
|
|
Re: U++ as .lib
By: mirek on Sun, 23 September 2007 22:21
|
|
|
Re: U++ as .lib
By: sergei on Sun, 23 September 2007 23:12
|
|
|
Re: U++ as .lib
By: mr_ped on Mon, 24 September 2007 11:54
|
|
|
Re: U++ as .lib
By: cbpporter on Mon, 24 September 2007 12:14
|
|
|
Re: U++ as .lib
By: sergei on Mon, 24 September 2007 13:00
|
|
|
Re: U++ as .lib
By: mr_ped on Mon, 24 September 2007 18:35
|
|
|
Re: U++ as .lib
By: sergei on Mon, 24 September 2007 19:57
|
Goto Forum:
Current Time: Mon May 06 21:46:41 CEST 2024
Total time taken to generate the page: 0.02336 seconds
|