Вызов функций до вызова main()
Даже не спрашивайте, зачем мне это нужно - я сразу скажу :-)
У меня есть куча исходников под Borland C++ 3.x, которые надо перекомпилять под Visual C++ .NET или 6.x. При этом стоит задача: код не должен значительно меняться, должны меняться только базовые библиотеки низкого уровня. Их я перекомпилял, но осталась вот эта вот проблема.
Заранее благодарю :-)
TypeName funcName(Params);
То перед функцией main можно написать такой код:
static TypeName dummy = funcName(Params);
Если же функции ничего не возвращают, т.е
void funcName(Params);
То я думаю, что и тут можно аналогичным образом изловчиться. Но если ничего не поможет, то можно сделать так: перед функцией main описать следующую конструкцию:
struct PreMainLauncher()
{
PreMainLauncher()
{
funcName(Params);
}
}
static PreMainLauncher launcher();
Кстати, все это не обязательно городить именно перед функцией main - можно реализовать в начале каждого *.cpp файла - и вызывать таким образом нужные функции.
В этих исходниках эти статические переменные используются повсеместно и при своей инициализации могут пытаться показывать сообщения об ощибках на экране или записывать что-то в базу данных Btrieve. А чтоб они это могли делать надо сначала инициализировать консольный режим и библиотеки доступа к БД.
Все это раньше через ж... компилировалось под защищенный режим DOS, а в видне все по-другому. :-)