Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno nenajdena referencia v dynamickej kniznici

Alebo si daj do google slova "mix C and C++", alebo citaj napr. http://msdn.microsoft.com/en-US/library/0603949d%2 8v=VS.80%29.aspx, alebo si najdi calling convention pre C++ a C (a trebars aj pascal, ptz napr. cele WinAPI ma pascal calling convention a neni to jedno).
Rozdiel je v tom co prekladac musi urobit pred a po volani funkcie, neni to jedno. Z toho dovodu pri linkovani je rozlisovana konvencia, a funkciu s nespravnou konvenciou to vobec nenajde (pri linkovani nazov funkcie obsahuje aj dalsie potrebne informacie, takze linker nehlada len "test" ale vpodtste nieco ako "_test0IUGZFW" apod. prekladace si tam davaju aj potrebne informacie o tom jak je nutne tu fciu volat, ptz keby si volal tu fciu inac alebo s inym mnozstvom parametrov, tak by ti ten program na tom mieste dokonale skapal. Preto musis zadat aj tvojmu kompileru programu v programe spravnu konvenciu, s akou bola kompilovana kniznica.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny