Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

А моя ошибка в чём???

367
15 августа 2006 года
Meatcoins
303 / / 18.01.2006
[noparse]
Написал вот такую программку:

includelib kernel32.lib
extrn __imp__ExitProcess@4:dword

includelib 1.lib
extrn __imp__MesBoxyA@0:dword

ExitProcess equ __imp__ExitProcess@4
MessageBox equ __imp__MessageBoxA@16
MesBoxy equ __imp__MesBoxyA@0

.486
.model flat
.code
_start:

call MesBoxy

push 0
call ExitProcess

end _start

А при компиляции Masm пишет:
3.obj : error LNK2001: unresolved external symblol __imp__MesBoxyA@0
По-всякому пробовал - всёравно ошибка!!!

1.dll компилируется!!!
Вот 1.dll:


MB_OK equ 0

.486
.model flat, stdcall
option casemap :none

includelib user32.lib
;extrn __imp__MessageBoxA@16:dword

MessageBoxA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MessageBox equ <MessageBoxA>

;MessageBox equ __imp__MessageBoxA@16

; ----------------------------------------
; prototypes for local procedures go here
;опытные образцы для местных процедур идут сюда
; ----------------------------------------

.const
my_title db "My DLL",0
mes db "It is a message from my first DLL!!!",0

.data?
hInstance dd ?

.code

LibMain proc instance:DWORD,reason:DWORD,unused:DWORD
mov al,1
ret 12
LibMain endp

_MesBoxy@0 proc

push MB_OK
push offset my_title
push offset mes
push 0
call MessageBox

ret
_MesBoxy@0 endp

comment * -----------------------------------------------------
Вы должны добавить процедуры, которых ваш DLL требует
ПОСЛЕ процедуры LibMain. Для каждой процедуры,
что Вы желаете ЭКСПОРТИРОВАТЬ Вас, должен поместить
ее название в "1.def" файл так, чтобы компоновщик
знал который процедуры вставить ЭКСПОРТНЫЙ стол в DLL.
Используйте следующий синтаксис ПОСЛЕ названия
БИБЛИОТЕКИ на 1-ой линии.
You should add the procedures your DLL requires AFTER
the LibMain procedure. For each procedure that you
wish to EXPORT you must place its name in the "1.def"
file so that the linker will know which procedures to
put in the EXPORT table in the DLL. Use the following
syntax AFTER the LIBRARY name on the 1st line.
LIBRARY 1
EXPORTS YourProcName
EXPORTS AnotherProcName
------------------------------------------------------- *

end LibMain
[/noparse]
354
15 августа 2006 года
ШпиЁн
468 / / 19.02.2006
Посмотреть, экспортируется ли функция можно через Dependency Wаlker из состава VS .NET
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог