Nazwy funkcji w DLL

Nazwy funkcji w DLL
  • Rejestracja: dni
  • Ostatnio: dni
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ć ?

Kopiuj
extern "C"
{
bool DLLIMPORT ReadFile(LPCSTR FileName);
}
BL
  • Rejestracja: dni
  • Ostatnio: dni
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ś.

  • Rejestracja: dni
  • Ostatnio: dni
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" ?

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
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ś.

  • Rejestracja: dni
  • Ostatnio: dni
0

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

  • Rejestracja: dni
  • Ostatnio: dni
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ą)

  • Rejestracja: dni
  • Ostatnio: dni
0

DevCpp

GM
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 152
0

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

Pozdrawiam.

  • Rejestracja: dni
  • Ostatnio: dni
0

Dzięki bardzo, problem rozwiązany.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.