Making C++ code platform independent:a big picture

By "platform independent" I mean the code can at lease be executed on Windows, Linux and Unix. I am specially interested in approaches that make "mission possible" features that C++ does not support by default.

For example, C++ does not support GUI by default. So there is QT for GUI programming, which is "platform independent". So you got my idea.

Thanks for inputs from your guys. C++ programming for the following fields is summarized as follows:
(1) GUI: QT, WxWidgets, fltk
(2) Multithreading: boost::thread, Open MP, Intel TBB (http://opentbb.org), GNU parallel STL (http://gcc.gnu.org/onlinedocs/libstdc++/manual/parallel_mode.html), POCO
(3) Network programming: boost::asio, Apache Qpid, ActiveMQ, Axis2/C, OmniORB, curl++, OTL (Oracle/ODBC template library), POCO
(4) Database: MySQL, SQLite, POCO,proprietary database engines (such as SQL Server)
(5) Embedded Programming: Qt, WxWidgets(for smart phones)
(6) Quant (Financial) Programming: QuantLib
Last edited on
(1) Qt is supported on both Windows and Unix / Linux.
(2) So is Boost::Thread for multithreading; MS VC 2005 Pro and 2008 Pro support Open MP by default

How about the remaining "mission impossible" in C++ by default?
Last edited on
For example, C++ does not support GUI by default.
Huh? If you mean that C++ doesn't have standard interfaces for GUI, then that's certainly true, but that's not the same as not supporting it.

4. MySQL, and SQLite for very small systems. There are also proprietary database engines such as SQL Server.
5. Too broad.
6. Never heard of it. Maybe you meant "quantitative programming"? In any case, financial applications are not what C++ is best at. That doesn't mean it can't do it; it's just that it would be better to write it in a higher level language.
Last edited on
6. Never heard of it. Maybe you meant "quantitative programming"? In any case, financial applications are not what C++ is best at. That doesn't mean it can't do it; it's just that it would be better to write it in a higher level language.


Actually, the majority of major financial banks/investment firms use C++ and are still doing greenfield development in C++. It's the language of choice for the financial sector.
What about COBOL?
C++ GUI programming: WxWidgets
C++ Multithreading: Boost: Thread, Open MP, GNU parallel STL: http://gcc.gnu.org/onlinedocs/libstdc++/manual/parallel_mode.html
C++ Networkprogramming: Boost Asio, Apache Qpid, ActiveMQ, Axis2/C, OmniORB, curl++
C++ Database programming: OTL (Oracle/ODBC template library)
C++ Embedded Programming: ??
C++ Quant Programming (financial appls) : QuantLib (I've only ever played with the Python bindings)
C++ GUI programming: Qt, WxWidgets
C++ Multithreading: Boost: Thread, Open MP, GNU parallel STL: http://gcc.gnu.org/onlinedocs/libstdc++/manual/parallel_mode.html, Intel TBB (http://opentbb.org)
C++ Networkprogramming: Boost Asio, Apache Qpid, ActiveMQ, Axis2/C, OmniORB, curl++
C++ Database programming: OTL (Oracle/ODBC template library)
C++ Embedded Programming: Qt, WxWidgets(for smart phones)
C++ Quant Programming (financial appls) : QuantLib (I've only ever played with the Python bindings)
|
Great. That is a lot of information. I am updating it in the first post of the thread to make the big picture clear
fltk for GUI, both desktop and embedded.

There's also POCO for threading, networking, database,etc.
Updated
Topic archived. No new replies allowed.