Форум программистов, компьютерный форум CyberForum.ru

Неявное подключение библиотеки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Олимпиадные задачи http://www.cyberforum.ru/cpp-beginners/thread371349.html
Посоветуйте хороший сайт, на котором есть много олимпиадных задач?
C++ на основе стеков..... на С++ Всем привет!!! Нужна ваша помощь.... Проверить в выражении баланс скобок «(« и «)«. http://www.cyberforum.ru/cpp-beginners/thread371338.html
C++ Builder Ввод-вывод массивов
Доброго всем времени суток! по долгу учебы приходиться возвращаться к забытому программированию. никак не могу вспомнить массивы. даже самое простое - ввод-вывод из/в СтрингГрид. TForm7 *Form7; int n; int i, j; //--------------------------------------------------------------------------- __fastcall TForm7::TForm7(TComponent* Owner) : TForm(Owner) { }
C++ Нахождение значение по числу
Здравствуйте, как можно сделать так, чтобы какое то значение можно было найти по числу? Например: green=1, yellow=2, blue=3 И чтобы когда я вводил например 3, он мне писал blue.
C++ нужна ваша помощь.... (програма на основе стеков, очередей) http://www.cyberforum.ru/cpp-beginners/thread371316.html
Проверить в выражении баланс дужек «(« и «)».
C++ Быстрая сортировка void quickSortR(int *first,int *last) { // На входе - массив a, a - его последний элемент. int *i = first, *j = last; // поставить указатели на исходные места int m; m=(first+last)/2; // центральный элемент // процедура разделения do { подробнее

Показать сообщение отдельно
Виктор_Сен
 Аватар для Виктор_Сен
29 / 22 / 1
Регистрация: 01.08.2011
Сообщений: 176
23.10.2011, 23:18  [ТС]     Неявное подключение библиотеки
Тут дело вот ещё может быть в чём: dll 64 разрядная и написана на ассемблере, а программа dumpbin у меня из масма 32 разрядного C:\Masm32\bin\bumpbin.exe

А подключал я её вот так, и всё работало:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//Функция Sum будет иметь 2 целочисленных, возвращать она будет целое число
typedef __int64 (*pSum)(__int64, __int64);
 
int _tmain(int argc, _TCHAR* argv[])
{
    //Переменные для суммы
    __int64 a, b, r = 0;
 
    //Адрес DLL-модуля
    HMODULE hModule;
    //Адрес фунцкии вычисления адреса
    pSum Sum;
 
    //Загрузка DLL в адресное пространство процесса
    hModule = LoadLibraryA("MemManager.dll");
    //Получения адреса функции с именем Sum
    Sum = (pSum)GetProcAddress(hModule, "Sum");
        
    cout << "A = ";
    cin >> a;   
    cout << "B = ";
    cin >> b;   
 
    //Вычислени суммы
    r = Sum(a, b);
 
    cout << "Result = " << r << endl;
 
    //Выгрузка DLL
    FreeLibrary(hModule);
 
    _getch();
 
    return 0;
}
Вот сама dll:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
.CODE
 
DllMain PROC
    mov rax,1
    ret
DllMain ENDP
 
Sum PROC
    mov rax,rcx
    add rax,rdx
    ret
Sum ENDP
 
END
Компилировал я её масмом 64 вот так: ml64 MemManager.asm /link /OUT:"MemManager.dll" /DLL /entryllMain /DEF:MemManager.def /SUBSYSTEM:CONSOLE
 
Текущее время: 06:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru