Hey! I am creating a service program in C++. It contains the implementation of the classes. To avoid error MCH4431 in the future, I create a service program using an export list.
At the same time, I feel some inconvenience. Due to the mangling of names, something like EXPORT SYMBOL ("Length__Q3_3oli2v118Db2StringBaseConstXTQ3_3o li2 v19Db2String_CFv") has to be added to the export list. Isn't there any other way to export names from C ++ modules?
In addition, I have a fear that with some next update of the compiler, it will begin to mangle the names differently. In this case, after adding functionality to the service program and assembling it, it will export names other than those already used by existing programs. This will require recompiling all programs that depend on this service, which can be extremely difficult.
However, the latter concern is a little dispelled by the fact that there are many system service programs that also export mangled names. If the compiler starts to mangle names differently, then all programs it creates that use the mentioned system service programs will not work.
Does anyone have information on this topic?
At the same time, I feel some inconvenience. Due to the mangling of names, something like EXPORT SYMBOL ("Length__Q3_3oli2v118Db2StringBaseConstXTQ3_3o li2 v19Db2String_CFv") has to be added to the export list. Isn't there any other way to export names from C ++ modules?
In addition, I have a fear that with some next update of the compiler, it will begin to mangle the names differently. In this case, after adding functionality to the service program and assembling it, it will export names other than those already used by existing programs. This will require recompiling all programs that depend on this service, which can be extremely difficult.
However, the latter concern is a little dispelled by the fact that there are many system service programs that also export mangled names. If the compiler starts to mangle names differently, then all programs it creates that use the mentioned system service programs will not work.
Does anyone have information on this topic?
Comment