Archive for November, 2005

Porting JX

The good news, in case you hadn’t noticed, is that our software now runs on both Mac OS and Cygwin — at least, out latest beta does. :)

Porting our software to Windows 2K/XP has been stalled for a few months now, but the good news is that I recently made a bit more progress by eliminating most of the uses of JInPipeStream. This particular class was originally a good idea, but since it is based on a GNU extension to the C++ stream library which never caught on, it now has to go. I’m replacing it with functions in jStreamUtil.h that operate directly on a file descriptor. Of course, this means that we lose the convenience of the stream in operator (>>), but that seems to be a small price to pay for cross-platform compatibility.

The same fate awaits JOutPipeStream.

On a similar note, since strstream is deprecated, almost all references to it have been replaced with stringstream, and jStrStreamUtil.h is now gone. Personally, I dislike the descision to deprecate strstream, because stringstream always makes copies of the data, and this is a disaster in certain cases where efficiency is critical — though I suppose some would claim that the entire C++ stream library should be avoided when efficiency matters! :???:

If anybody has any good news about stringstream colluding with string to avoid copying data, please let me know!

Add comment November 29th, 2005

Progress on Code Crusader

Ever since I started using CVS, I’ve been kicking myself for several old design choices:

  • Putting too much junk in the .jcc file
  • Not tracking whether or not the .jcc file really needs to be saved
  • Not making the .jcc file line based so I can get something useful out of CVS diff

Over Thanksgiving, I finally got around to cleaning this up. The .jcc file is now line based, and all the local settings, like window positions, have now been moved to a new .jup file. This clears the way for tracking whether or not the .jcc file needs to be saved — my next weekend project — which in turn will tell me whether or not I really need to check it out from CVS. (I always configure CVS so I only get write permission after I run cvs edit. This makes it easy to find the files that I have changed, especially since Code Crusader now displays the write permission in the project window! :) )

*.jup can now be added to .cvsignore, just like *.jst. They are both tied to the specific machine on which the code is stored.

Add comment November 29th, 2005


Calendar

November 2005
M T W T F S S
    Dec »
 123456
78910111213
14151617181920
21222324252627
282930  

Posts by Month

Posts by Category