My professor has asked me to write a C# GUI for a C++ program. I did not write the C++ program (hell, I'm not even completely sure what it does -- something to do with pattern recognition). I wanted to know how one would go about writing a C# GUI for a program written in another language.

I did a little bit of research online and saw the term "wrapper" used, but it wasn't very clear. Is there a way to access the C++ program's classes and functions through a C# GUI? Also, the C++ program allows command line commands for running it, so I was thinking maybe it's possible to have the GUI somehow interact with the C++ program through the command line.

If anyone could explain my options to me I would greatly appreciate it. Please forgive me if I ask any stupid questions, as it's been about a year since I've programmed in C# or C++.

Thanks in advance for your help!
- EF

P.S. - This is not for a homework assignment or class project.

Thanks for your reply. The C++ program is called liblinear (http://www.csie.ntu.edu.tw/~cjlin/liblinear/).
Basically I need to provide liblinear's options in a GUI form, and present a 2-d or 3-d view of the data sets.

I think I may go with the first suggestion in the first link you provided, using Process.Start() and supplying it with the arguments using ProcessStartInfo .

The problem now is how I would get liblinear's output into the C# program in order to produce the graph.

I'll take a peek at that link. What kind of output are you expecting from this library? Does it already write the output to a file?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.