Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 02 May 2007
Offline Last Active Yesterday, 04:41 PM

Topics I've Started

Cairo suggested to be included in ISO C++

11 January 2014 - 04:58 AM

It has been suggested that a wrapped version of the Cairo 2d graphics library (http://cairographics.org/) might be up for inclusion in ISO C++.




I'm undecided on how to feel about this. On one hand, I like the Cairo API, it's really good at what it does. I also think that one of the biggest issues with C++ is that the standard library doesn't have as much stuff as some other languages libraries do.


On the other hand, some part of me feels that providing 2d graphics is outside of what I always considered the scope of ISO C++.


So, not sure what to think. What do you think? Good? Bad? Doesn't matter?

What's the point of closing unsolved threads?

06 August 2013 - 11:58 AM

Today I saw a thread that had been closed with the motivation that it's too old. The original question was still unanswered, and a user had bumped it because he had the same issue.

How is this helping anyone? If someone has the same problem again and googles it, he will find the thread and find that it was just locked for illogical reasons.

I understand that people don't want to rehash old threads because technonology and even the consensus opinion changes over time, but for a thread like this, that is about a specific problem with two very specific technologies and still unanswered, it just seems silly.

What do you think?

Here is the thread in question:

Sadistic library authors (my rant about Xerces for C++)

24 March 2012 - 04:49 PM

I am going to rant about my experiences with the xerces XML library for C++. I would also like to hear your own personal rants about your most hated software libraries, so feel free to post them here. Well here goes...

First of all, I should mention that I'm not new to programming. I have seen a lot of hairy stuff. I have been using C++ for almost 15 years now. I am experienced in lots of related semi-obscure technologies such as COM, DCOM, CORBA, ODBC...

... But as over-engineeered as all of the above technologies are, I have found that they have absolutely nothing on xerces.

It all started with a hobby project, where I needed to read and write XML files. I started looking around for something that would fit my requirements of:
  • Fast loading of files from disk
  • Validation against a schema during load
  • Writing of XML files to disk
  • Cross-platform
The only one that seemed to fit the bill was xerces. So, I download a copy, and the first thing I notice, is that the compiled, optimized xerces DLL is a full 2.41 MB. Ok, it's not gigantic, but it seemed pretty hefty for something that is basically just manipulating text files.

Soon enough, I started seeing why. Reading of files with the SAX parser turned out to be multiple inheritance galore. And the strings...they have rolled their own string class too. After pulling hairs for a long time, I managed to finally get it to read my XML files, but not thanks to their documentation, which is utter gibberish and assumes you have a PhD in xerces already.

Just before I started writing this post rant, i spent a few hours trying figure out how to to get xerces to write an XML file. I finally gave up, when I realized it would involve all the junk seen here: http://stackoverflow...nd-c-on-windows
And that's just for saving the file, the DOM tree that contains the actual data needs to be generated separately.

Realizing it would gain me nothing to use xerces to write the file also (it doesn't perform validation, etc. when saving) I just gave up and started writing an implementation that writes it directly to a C++ stream object instead.

My final words about this topic is: Screw you xerces, I hate you. And I hate your documentation even more.

COM, 64 and 32 bit dll at the same time?

28 May 2011 - 10:35 AM


I have a COM dll, currently a 32 bit dll. The problem arises when this component is used in 64 bit applications, as it says "Class not registered" when attempting to use it. This is especially problematic with .NET applications built for "Any CPU", because they will be 32 bit on a 32 bit OS and 64 bit on a 64 bit OS, causing people to become confused when it works fine on one machine, but not the other.

If I built a 64 bit version of the dll, would it be possible to have it registered while the 32 bit version is also registered, and automatically have the correct one loaded, depending on whether the calling process is 64 or 32 bit?

Resource dialogs with 120 DPI

13 December 2008 - 12:12 PM

Hi, I am having a problem with resource dialogs in Visual C++ (all versions, non-MFC). The resource dialogs in question are used in a property page wizard, if it makes any difference. The problem is, I use custom fonts and backgrounds for all things, so I don't want the larger font re-scaling that Windows will do for me automatically when the desktop DPI is changed from the normal 96 to 120. The dialog just becomes ridiculously large, and it looks pretty ugly too when background images don't fit so well. Is there any way to turn this "feature" off for my wizard, and make it always behave as if it were 96 DPI?