Я разрабатываю программу на С++, которая работает с адресами для разных переменных и функций.
Когда я скомпилировал свою программу в ОС на базе Linux, все функции, включая основную, получили адрес 1 вместо 8-значного шестнадцатеричного числа, как другие переменные, чего не было в Windows.
Я написал этот небольшой фрагмент кода, чтобы объяснить проблему
#include <iostream>
using namespace std;
void Function1();
void Function1()
{
}
int main()
{
int tmp;
void (*a) ()=&Function1;
cout<<a<<endl;
cout<<&Function1<<endl;
cout<<&main<<endl;
return 0;
}
для всех 3 вызовов cout вместо виртуального адреса выводится 1.
Я очень ценю вашу помощь, ребята
Заранее спасибо Азиз