Take the 2-minute tour ×
Quantitative Finance Stack Exchange is a question and answer site for finance professionals and academics. It's 100% free, no registration required.

QuickFIX is a well-known open-source implementation of the FIX protocol. This library has been ported to numerous languages, though for the moment I am concentrating the on C/C++ implementation.

Unfortunately, I do not know C++ at all but my knowledge in C is rather high (professional level). My goal is to develop an order management system that will be based on QuickFIX. I would be glad to have my system both as fast as possible and well designed. Because I do not want to produce a messy product, I would prefer to implement it in C.

So, my question is pretty simple: Is it possible to use QuickFIX in C project? I have been trying to figure this out with no success. I did not manage to find any information online. I would appreciate it if someone could provide her/his experience or at least point me in the right direction.

share|improve this question
add comment

2 Answers

The canonical QuickFIX is very C++. It has classes for the message types and uses factory patterns for a lot of the auxiliary components. It requires users to override virtual functions to define the communication callbacks. It even uses exceptions to signal certain desired state changes, whether there is an error or not.

Most other language bindings for QuickFIX are wrappers to the C++ version. (The exception is Java, for which there is a complete rewrite.) There definitely aren't any C bindings that come with the canonical source code. So if you can't find an existing set of bindings online, you'll have to write your own.

share|improve this answer
    
Thank you for your response. Seems I got your idea. If going this way, perhaps I will have to write my own binding i.e. a C++ intermediary between QuickFIX and my order market system. –  TruLa Sep 21 '12 at 12:19
add comment

It's not exactly QuickFIX but look at libtrading. Maybe you can tailor it to your needs.

From the README:

libtrading is a library for electronic trading. Its purpose is to support market data and order entry network protocols used by trading venues across the world.

share|improve this answer
    
Thank you so much. There is no doubt, such alternatives are very useful. At least, they might inspire you to implement FIX protocol by yourself :) –  TruLa Sep 21 '12 at 12:21
    
Yep, indeed. I'm working on an (open-source, C, BSD-licence) fixml<->fix<->memory converter myself but it's nowhere near finished. I will update my answer once I deem it ready for public use. –  hroptatyr Sep 21 '12 at 13:02
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.