Is it possible to link STL dynamically to my application? For me it is a bit confusing as template libraries are shipped as source. Hence making those in a DLL does not make sense.
The real problem here is I have a static library produced my latest compiler which uses STL. Now If my client want to use it this library with compiler of lower version, it gives STL class undefined error.
I don't get you here: using a static library (so, basically a collection of functions and/or classes in executable format) should have nothing to do with such an error...
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
so if my static library is compiled with newer version of compiler and my client uses it in its code which is compiled with older version of compiler. Things should work fine?
This problem statment utimately boils down to
1) I have one static libray say "A" build with Compiler 2.0, uses STL
2) I have another static library "B" compiled with Compiler 1.0 uses STL
If I try to make my client application with Compiler 1.0. using both the libraries(A and B), will it work?
Does linker allows me to link two libraries carrying different STL instances? Can there be ambiguities or optimization issues?
Is it possible to link STL dynamically to my application?
No, because you should not use STL across library boundaries...without really knowing what you do. First of all is STL not a binary compatible interface, you must compile with exactly the same STL version in all modules/libraries/DLLs. There is probably no linker warning/error if you try otherwise. Secondly allocating memory in one module's heap and deallocating in another will fail, if you do not provide special allocators. In short, there is no easy way to use STL in exported interfaces.
'm working on my final year(engg) project..
I need to hide my process from the task manager..
developing a remote monitoring utility for a start-up company..
it would be great to achieve this hiding..
coding in win32 using C..
any suggestions as to where to look for would greatly help..
Unless you are writing a virus, this is not a good idea. What if your process has a memory leak ? Or slows down the computer ? You have to let the user decides what he wants to do with his computer. And as far as I know, it is even impossible to hide a process this way.
(And if you are writing a virus, then asking such a question here is stupid).
Yes, i completely agree with your questioning.
We, two of my team mates and i, are developing a set of plugins- keylogger & screengrabber for a cyber security based company. We are workin as interns. The company 'll be using the project as a utility toolkit for testing purposes, i guess!
I wanted to hide the process so that it would be a more complete product. A more (ethically)professional one.
I can tell you the tricks only, as now I am not using C++ anymore. what ever app is installed in a system, must register themselves(if using a standard deployable package utility) into the system registry. Dont delete their entry point from registry, rather you can alter their entry point from process to services.
Just imagine, have you ever seen any services running inside the task maneger? I guess, no. Every process's entry points contain two main parameter, as name & value. If you change the value from 0 to 1, see what happen...
First of all,thank you for your NTGraph ACtive code,it is easy and Convenient for us to develop software!NOW ,I encounter a problem:I do not konow how to dislay ElementName in the different position of PlotArea?