Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou tentando desenvolver algumas aplicações usando multitarefas para aprender.
Achei muuuita coisa na net que não dá certo de jeito nenhum, até encontrar a forma abaixo:
#include <windows.h>
#include <iostream>
DWORD WINAPI ThreadFn(LPVOID vpParam);
int main(){
using namespace std;
//Create the thread and pass in ther function pointer
unsigned int uiCounter = 0;
DWORD qThreadID;
HANDLE hThread = CreateThread(0,0,ThreadFn,&uiCounter,0,&qThreadID);
//Loop until the user enters 'q'
char cChar = ' ';
while (cChar != 'q'){
printf("isso = %d",uiCounter);
cChar = (char)getchar();
}
//Close the HANDLE to the thread
CloseHandle(hThread);
return 0;
}
DWORD WINAPI ThreadFn(LPVOID vpParam){
unsigned int& uirCounter = *((unsigned int*)vpParam);
//Increment up to the maximum value
while (uirCounter < 0xFFFFFFFF){
++uirCounter;
}
return 0;
}
Porém está dando um erro que não consegui identificar o motivo. Alguém pode me ajudar?
Erro:
C:\DOCUME~1\neto\CONFIG~1\Temp/ccszaaaa.o:teste_thread.cpp:(.text+0xd): undefine
d reference to `std::string::size() const'
C:\DOCUME~1\neto\CONFIG~1\Temp/ccszaaaa.o:teste_thread.cpp:(.text+0x60): undefin
ed reference to `std::string::operator[](unsigned int) const'
C:\DOCUME~1\neto\CONFIG~1\Temp/ccszaaaa.o:teste_thread.cpp:(.text+0x9e): undefin
ed reference to `std::string::operator[](unsigned int) const'
C:\DOCUME~1\neto\CONFIG~1\Temp/ccszaaaa.o:teste_thread.cpp:(.text+0xcc): undefin
ed reference to `std::string::operator[](unsigned int) const'
C:\DOCUME~1\neto\CONFIG~1\Temp/ccszaaaa.o:teste_thread.cpp:(.text+0x1e5): undefi
ned reference to `std::ios_base::Init::Init()'
C:\DOCUME~1\neto\CONFIG~1\Temp/ccszaaaa.o:teste_thread.cpp:(.text+0x200): undefi
ned reference to `std::ios_base::Init::~Init()'
collect2: ld returned 1 exit status
Obrigado
Carregando comentários...