Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Ales_M_
Beginner
63 Views

Any Frameworks is required to run output file?

Dear Madam/Sir,

Is there ANY FRAMEWORK is required to be installed in target system to run the output(executable) file that compiled with Intel C++ compiler?

e.g. MS Visual C++ needs .net framework that pre-installed in target system to run the apps that developed by MS Visual C++. Thus any framework is required to be pre-installed in target system to run apps that developed in Intel C++ studio?

Best regsards

0 Kudos
1 Reply
63 Views

Hi Ales,

The statement of "MS Visual C++ needs .net framework that pre-installed in target system to run the apps that developed by MS Visual C++" is not true always.

This question is about "distribution of software", it really depends on what kind of environment/language you are using.

#1. Understand "managed C++" and "unmanaged C++".

For code developed using .NET framework languages, like C#, VB.net, you do need to pre-install the correct .NET Framework.

For code developed using Java, you need the JVM (java virtual machine) pre-installed.

Those are kind of "JIT language", and requires a "virtual machine" to make it work.

Now, regarding MS Visual C++, C/C++ itself is "native language", you write code and compiler build it as instructions in binary format, which can be run by OS directly, and no "virtual machine" required. But in the .NET Framework, MS do extend the C/C++ and have something called "managed C/C++", which makes it possible to access the .NET framework features, for those C/C++ code, you may need to install .NET Framework, like C# or VB.net. But if your code only contains the "unmanaged C/C++", it does not require .NET Framework.

Please refer to "http://stackoverflow.com/questions/114238/difference-between-managed-c-and-c" to understnad the differences. You may also search "unmanaged C++" in Google to know more.

http://en.wikipedia.org/wiki/Managed_Extensions_for_C

(Note: it mentioned the manged C/C++ is deprecated from wikipedia, I am not sure about this...)

#2. Which C/C++ does Intel Compiler support?

We only support the "native C/C++" or say "unmanaged C++" on Windows. Hope it is clear for you now. Intel compiler in Intel C++ Studio is mainly targeted for performance optimization, and providing some high performance libraries.

#3: Distribution of C/C++ code binaries

To distribute such "exe", if the "exe" depends on DLLs, you need to distribute these DLLs together with the "exe" to make sure it can run. Please Google "dynamic library on windows" to understand more.

If your code is built with Intel compiler and link to its runtime library dynamically, you need to distribute the Intel compiler's DLLs together with your "exe", this is just same with the rules to distribute any other third party DLLs.

Thanks,

Shenghong

Reply