Nazwy funkcji w DLL

0

Cześć,
Nikt nie pomógł mi, gdy napisałem temat w "Newbie," więc postanowiłem, że umieszczę go w "C/C++" :

Pisze sobie bibliotekę DLL i parę funkcji, które są wyeksportowane mają takie same nazwy jak systemowe funkcje np. "ReadFile" i wywala błąd przy kompilacji, więc jak mogę zadeklarować te funkcje, aby nie kłóciły się z systemowymi ?

PS. Może można by było tak zrobić, że nazwy funkcji w DLL będę trochę inne np. z prefiksem "x", ale wyeksportowane byłyby pod inną nazwą, tylko jak to zrobić ?

extern "C"
{
bool DLLIMPORT ReadFile(LPCSTR FileName);
}
0

Nie wiem za bardzo o co Ci chodzi. Funkcje można przeciążać, ale skoro nie ma takiej potrzeby to po prostu nadaj im inne nazwy, jak sam napisałeś, np z prefiksem jakimś.

0

Przeciążanie odpada ponieważ w niektórych funkcjach argumenty są takie same. Chciałbym uniknąć też zmiany nazw tychże funkcji, dodając na starcie jakiś prefiks.Wie ktoś może jak mogę eksportować funkcje przez zmienioną nazwę ? np. funkcja w bibliotece byłaby "xDeleteFile", a wyeksportowana byłaby pod nazwą "DeleteFile" ?

0

po co chcesz to robić?

jeśli chcesz podmienić funkcje systemowe, to pytaj wprost: „jak podmienić funkcje z bibliotek systemowych”, a nie kombinujesz coś.

0

No właśnie o to mi chodzi, ale jak to wykonać ?

0

I jakiego kompilatora do tego uzywasz? Bo niektóre dodają podkreślenia pod nazwą funkcji - jeśli bedziesz chciał ich używać w mainie, przy ich imporcie będziesz musiał przed nazwą dodać _ - znak podkreślenia. (CodeBlocks tego nie dodaje, DevCpp - nie polecam go - dodaje, Visuale dodają)

0

DevCpp

0

Otwórz pliki nagłówkowe zawierające te funkcje, które Ci przeszkadzają i dodaj do ich nazw jakąś literkę np. "aDeleleFileA".

Pozdrawiam.

0

Dzięki bardzo, problem rozwiązany.

1 użytkowników online, w tym zalogowanych: 0, gości: 1