#ifndef __STDIO_H__
#define __STDIO_H__
#include <stdio.h>
#endif
#ifndef __TCHAR_H__
#define __TCHAR_H__
#include <tchar.h>
#endif
#ifndef __LOCALE_H__
#define __LOCALE_H__
#include <LOCALE.h>
#endif
// _beginthreadex
#ifndef __PROCESS_H__
#define __PROCESS_H__
#include <process.h>
#endif
#include <Windows.h>
unsigned int __stdcall ThreadFunction_print(void *lParam);
int _tmain(void)
{
_tsetlocale(LC_ALL, _T("Korean"));
HANDLE hThread;
unsigned int dwThreadID;
int num[] = { 300, 200 };
hThread = (HANDLE)_beginthreadex(NULL, 0, ThreadFunction_print, (int*)&num, CREATE_SUSPENDED, &dwThreadID);
ResumeThread(hThread);
WaitForSingleObject(hThread, INFINITE);
CloseHandle(hThread);
return 0;
}
void test(int number, int start)
{
for (int i = start; i < number; i++)
_ftprintf(stdout, _T("HI\n"));
}
unsigned int __stdcall ThreadFunction_print(void *lParam)
{
int *p = (int*)lParam;
test(*p, *(p + 1));
return 0;
}
문득 궁금증인데요 원래 저기 위에 test함수를 쓸때 위에 void test(int,int); 이렇게 선언을 해줘야 하잖아요?
근데 이렇게 해도 전혀 문제가 없더라구여 그 이유가 궁금해요..