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

Вызов функции из потока - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ поиск http://www.cyberforum.ru/cpp-beginners/thread269407.html
Задание Дано файл вещественных чисел (a1,a2...an) что упорядочены по возрастанию. Найти среди этих чисел элемент равен x^2 (x предварительно задать). Кто подскажет каким поиском искать, и может у...
C++ Массив в массиве Доброго вам дня суток ! Меня интересует один вопрос можно ли в одном одномерном мессиве за место элементов использоовать другой массив (символьный) Суть моей задачи записать слова в строку а... http://www.cyberforum.ru/cpp-beginners/thread269406.html
C++ функции процедуры пользователя
Всем привет!) Вот дали в технаре задачки по с++, а я болела когда функции и процедуры проходили( 2 задачки можете помочь пожалуйста. 1) Составить программу вычисления значения выражения...
cout & printf C++
Можно ли с помощью cout сделать подобное printf("%h\n",15);??
C++ Символы и строки http://www.cyberforum.ru/cpp-beginners/thread269367.html
Дана символьная строка, состоящая из нескольких слов разделённых одним или несколькими пробелами. Каждое слово может содержать как буквы, так и цифры. Требуется каждую цифру, входящую в слово...
C++ glut режимы вобщем проблема состоит в том что при режиме с двойной буферизацией не хочет ничего прорисовывать , хотя с одинарным все норм ( вобщем то я хочу избежать бликов , напрягают они ) пишу на VS 2010. ... подробнее

Показать сообщение отдельно
Salomons
0 / 0 / 0
Регистрация: 03.04.2011
Сообщений: 3

Вызов функции из потока - C++

03.04.2011, 17:14. Просмотров 500. Ответов 0
Метки (Все метки)

Добрый день!
Есть задание по курсовой: Вызов из разных потоков функций чтения из файла. Функции находятся в DLL. Функции чтения:заголовок, данные.

Вот мой код

DLL:

#include "stdafx.h"
#include "n.h"
#include <windows.h>
#include <iostream.h>
#include <winbase.h>

BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}


DWORD WINAPI Read(LPVOID *lpParam)

{


HFILE hfile;

DWORD rNumber;

DWORD sizelow;

OFSTRUCT ofs;


hfile = OpenFile("C:\\1.txt",&ofs,OF_READ);

sizelow = GetFileSize(HANDLE(hfile),NULL);

char *buf= new char[sizelow];

ZeroMemory(&buf,sizelow);

BOOL r = ReadFile(HANDLE(hfile),buf,sizelow,&rNumber,NULL);

CloseHandle(HANDLE(hfile));

lpParam = reinterpret_cast<LPVOID*>(buf);

return r;

}

приложение:

#include "stdafx.h"
#include <windows.h>
#include <iostream.h>

typedef DWORD (WINAPI *Readfn)(LPVOID);

void main()

{

HINSTANCE hDLL;

BOOL free;

hDLL = LoadLibrary("n.dll");

Readfn pfn = (Readfn) GetProcAddress(hDLL,"Read");

char *value1 = NULL;

HANDLE thread1 = CreateThread(NULL,0,pfn,value1,0,NULL);

HANDLE *threads = new HANDLE[2];

threads[0]=&thread1;

cout<<value1;

delete[]value1;

free = FreeLibrary(hDLL);


}

Всё компилируется без ошибок, но постоянно вылетает unhandled exception.
Я совсем недавно начал изучать программирование, поэтому возникают проблемы. И я честно говоря не знаю как с этим бороться. Заранее благодарен за помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru