Watch, Follow, &
Connect with Us

Dawn Perchik



Bcc’s -CX option

Ever run into an "out of memory" error in BCB during a compile, or ran into an "Internal Compiler Error" which seems to be related to source file size?  We’ve added a compiler option -CX where you can specify how much memory to reserve for SAVE_MEM (that’s the memory which is reserved for use by the pre-compiled headers and other relocatable entities).  Use -CXn where the amount to reserve is (n * 0×100000) bytes.  The default (and minimum) setting is 64.  The maximum is 512.  The option can be set in the IDE via "Additional options to pass to the compiler".

Since the address space is shared with the IDE, you don’t want to set the value higher than necessary.  Finally, no matter how much space you reserve, you can always run out of memory.

Dawn’s theorem of BCC memory usage:
Let M = amount of memory reserved for compiler.
Let S = source file.
For each M, we can find an S such that bcc32 -CXM S results in an ICE.
Proof: left to the BCB user as an excercise.


Posted by dperchik on January 20th, 2010 under C_Builder, Uncategorized | Comment now »

Getting the IP in Gcc, OSX vs. Linux

Gcc on Linux uses thunks to find the current IP address when generating PIC code.
So, while Gcc on Mac OS X might generate:

0:       call   5
5:       pop    %ebx
6:       add    $(GOT - 5),%ebx

Gcc on Linux would generate:

0:       call   16 <__i686.get_pc_thunk.bx>
5:       add    $(GOT - 5),%ebx

00000016 <__i686.get_pc_thunk.bx>:
16:       mov    (%esp),%ebx
19:       ret


Posted by dperchik on January 15th, 2010 under Uncategorized | Comment now »

re: Alan Taylor’s question about remote Methods

I assume you are refering to datasnap?  It’s on our priority list, and we are currently in the planning stages for the next release.

Posted by dperchik on October 28th, 2009 under Uncategorized | 3 Comments »

replies to comments

To: Chris Bruner  Re: refactoring

We haven’t had the time and resources to produce a product that meets our quality and performance standards.  C++ is a very complex language as you know, and we won’t release a feature until we know we have something that will handle the complexities of the language without sacrificing usability.

To: Chee Wee Chua Re: Sanjay

He left the company about 2 years ago.

Posted by dperchik on October 28th, 2009 under C_Builder, Uncategorized | Comment now »

about me

Hello, I maintain the C++ compiler front-end here at Embarcadero.  I am responsible for all things C++ compiler related, including the preprocessor, evaluator, code completion, refactoring, class browser, modeling callbacks,  editor callbacks, and of course the compiler itself.

I first joined Borland in 1999 to work on compiler optimizations for a new back-end we were developing in-house to host our tools on other platforms besides Windows.   Many years, a few company names, and many projects later, I’m still here doing my part to ensure our tools, now owned by Embarcadero, are truely RAD.

Posted by dperchik on October 27th, 2009 under C_Builder, Uncategorized | 5 Comments »

Server Response from: BLOGS1