• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z ładowaniem funkcji z DLL

Cloud VPS
0 głosów
465 wizyt
pytanie zadane 8 grudnia 2021 w Assembler przez DzikieHarce Użytkownik (690 p.)

Stworzyłam w visualu projekt c++ w którym próbuję załadować bibliotekę dll z kodem w asemblerze. Bibliotekę ładuje, ale z jakiegoś powodu nie widzi funkcji którą próbuję eksportować.

Kod w c++:

typedef int(*myType)(unsigned int, unsigned int);
typedef int(__stdcall* myTypeASM)(int, int);

int main(void)
{

HINSTANCE hinstASM = LoadLibrary(L"E:\\JA\\DllProj\\Debug\\DLLPROJ.dll");
	if (!hinstASM) {
		std::cout << "could not load the dynamic library in asm" << std::endl;
		return EXIT_FAILURE;
	}
myTypeASM functionASM = (myTypeASM)GetProcAddress(hinstASM, "count");
	if (!functionASM) {
		cout << "could not locate the function in asm" << std::endl;
		return EXIT_FAILURE;
	}

Kod asm (Prosty algorytm Euklidesa przez dzielenie):

.model flat, stdcall
.code
count proc a: DWORD, b: DWORD
	mov edx, b
	mov ecx, a

petla:
	cmp b, 0h
	jle fin
	mov esp, b

	xor edx, edx
	mov esp, ecx
	idiv b
	mov b, edx

	mov ecx, esp
	jmp petla

fin:
	mov eax, ecx
	ret
count endp
end

I plik .def w projekcie z asemblerem:

LIBRARY DllProj
EXPORTS
count

Projekt w asm builduje się normalnie, gdy próbuję zrunować ten z c++ wyskakuje: "could not locate the function in asm". Nie mam pojęcia co może być tego powodem.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 575 wizyt
pytanie zadane 3 czerwca 2020 w Assembler przez niezalogowany
0 głosów
1 odpowiedź 349 wizyt
pytanie zadane 22 listopada 2023 w Urządzenia mobilne przez 18gracjandonaj Nowicjusz (140 p.)
0 głosów
1 odpowiedź 1,339 wizyt

93,487 zapytań

142,423 odpowiedzi

322,773 komentarzy

62,908 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...