Red de conocimiento informático - Computadora portátil - Problemas de programación WIN32 en lenguaje C.

Problemas de programación WIN32 en lenguaje C.

1. Cambiar teststruct[j] a teststruct no requiere una matriz, y la definición anterior es un puntero, que no se puede usar como una matriz aquí;

2 HANDLE hThread = (HANDLE)malloc(sizeof( MANGO)) ; Cambiar a MANGO hThread[10]. No se requiere asignación; por lo tanto, free(hThread); eliminado más tarde;

3. El parámetro de error de la función CreateThread debe ser

hThread[j] = CreateThread(NULL,0,( LPTHREAD_START_ROUTINE) ThreadFunc, (LPVOID)testststudy (LPVOID)teststruct,0,NULL); El tercer parámetro es el puntero a la función del hilo y el cuarto parámetro es el parámetro de la función del hilo pasado;

4. En Cerrar el identificador después de CreateThreadCloseHandle(hThread[j]); No es necesario lo siguiente

for(;j & gt;=0;j--)

{

CloseHandle(hThread[j]);

}

5. Inmediatamente después de Sleep(1), duerma durante 1 milisegundo para que pueda acceder a la función de subproceso. ThreadFunc;

6. printf("¡TEST1 Todo el hilo ha finalizado\n"!) ;

printf("TEST2 Finalizado\n"!) ;

¡Por favor ponga el signo de exclamación entre comillas!

7. MyFunc(teststruct[j]); cambiado a MyFunc(teststruct); --------------------------

¿El número de TESTSTRUCT está determinado por su bucle? El número de TESTSTRUCT está determinado por su bucle, porque el identificador del subproceso hThread es una matriz

Solo hay un TESTSTRUCT por función de subproceso, y su TESTSTRUCT se reasignará después de j++

Entonces No necesitas TESTSTRUCT[j]

De todos modos, se puede modificar en mi computadora

MyFunc(teststruct cambiado a MyFunc(teststruct no array

);

El número de TESTSTRUCT está determinado por su bucle.