cuốn sách gpt4 ai đã làm

Đa luồng trong Windows - Lỗi tạo mảng con trỏ hàm

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 06:29:29 26 4
mua khóa gpt4 Nike

Tôi là người mới bắt đầu sử dụng đa luồng (Windows). Tôi muốn tạo 2 luồng bằng hàm CreateThread trong vòng lặp for. Nhưng hai hàm luồng tôi muốn tạo khác nhau. Vì vậy, tôi đã tạo một mảng con trỏ hàm để lưu trữ hai hàm mà tôi muốn tạo. Tôi sẽ tạo chức năng thread địa chỉ lpStart Sử dụng giá trị mảng trong tham số. Nhưng tôi gặp lỗi khi tạo mảng con trỏ hàm. Tôi chỉ đăng những phần quan trọng của mã bên dưới. Vì vậy, vui lòng sửa lỗi của tôi và giúp tôi tạo một mảng các con trỏ hàm (các hàm của chúng sẽ được sinh ra dưới dạng các luồng). Cảm ơn trước.

DWORD WINAPI Threadproc1(LPVOID lparam)
{
print_func(GetCurrentThreadId(),(LPDWORD)lparam);
return 1;
}

DWORD WINAPI Threadproc2(LPVOID lparam)
{
print_func(GetCurrentThreadId(),(LPDWORD)lparam);
return 1;
}

int main()
{
XỬ LÝ hThread[MAX_THREADS] = {NULL};//MAX_THREADS=2
DWORD dwthreadid;

/* Mảng lparam */
DWORD dwArrayparam[PARAM_MAX] = {1,2};//PARAM_MAX=2

/* Mảng hàm ptrs */
typedef DWORD WINAPI (*t_Threadproc)(LPVOID);//ERROR ở dòng này
t_Threadproc Threadproc[MAX_THREADS] = {Threadproc1,Threadproc2};

for(int i=0; i
{
hThread[i] = CreateThread(NULL,//thuộc tính bảo mật
0,//kích thước ngăn xếp
Threadproc[i],//địa chỉ bắt đầu luồng
(dwArrayparam+i),
0,
&dwthreadid
);
}
}

Lỗi biên dịch: Lỗi tôi gặp là Lỗi C2059: Lỗi cú pháp: '(' Nếu tôi xóa quy ước gọi WINAPI, tôi gặp lỗi ở dòng tiếp theo Lỗi C2440: 'Đang khởi tạo': không thể chuyển đổi từ 'DWORD (__stdcall *)( LPVOID)' cho "t_Threadproc"

câu trả lời hay nhất

Tôi nghĩ dòng này sẽ trông như thế này:

typedef DWORD (WINAPI *t_Threadproc)(LPVOID);

tức là từ khóa WINAPI Cần phải đặt trong ngoặc đơn.

Về c - Đa luồng trong Windows - Lỗi tạo mảng con trỏ hàm, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/22223672/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress