Hello, I am learning the ropes here. I have a non-code question, strictly conceptual. How (generally speaking) do I design my project in Visual Studio C++ to acheive the flow in the block diagram, and specifically how do I access Var A and Var B from Main.cpp if they are all modularly constructed?

1. Main.cpp and programs 1 and 2 should start from a single executable and run by themselves endlessly until terminated

2. Main.cpp has to be able to access Var A and B (which are being constantly recalculated) on the fly.

I want to take advantage of parallel programaming for my project.

Thanks in advance,


Recommended Answers

All 4 Replies

Either output the variable contents into a text file for your program to read or use a Dll to share the variables.

Thanks for the reply:

In the first option, if the programs wrote to a text file would I have to have three seperate executables? Also, is writing to a text file a fast process (under a few milliseconds) or would it hamper speed?

In the second option, could the DLL(s) run all the time in parallel to my main.cpp program and could they be coded to constantly calculations, etc. ?

If you want to calculate a value and have it usable among many executables, you will need a Dll to do it within an expectable timeframe (of your mentioned milliseconds). It would be easiest to have all the important functions and variables located in the Dll to be called by your executables. Here is a good tutorial to creating a Dll that can be shared between different processes.

Here is a diagram...

Thanks for the effort in the reply - that really helps. To clarify what you are saying, I would need to wrtite 3 C++ progs and use a DLL to share their run time info about Var A and B. Is thgat correct so far?

If I have that clear, tell me how I would launch all three from a single executable. I don't want the end user to have to start multiple progs every time.

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.