Tôi đang viết một chương trình thử nghiệm để làm quen với các phần mở rộng ngôn ngữ của Clang cho các vector kiểu OpenCL. Tôi có thể nhận được mã để làm việc nhưng tôi đang gặp vấn đề nhận được một khía cạnh của nó xuống. Tôi không thể tìm ra cách để có được clang chỉ cần tải trong một vector từ một mảng vô hướng độc đáo.Cách tốt hơn để tải vectơ từ bộ nhớ. (clang)
Tại thời điểm này tôi phải làm một cái gì đó như:
byte16 va = (byte16){ argv[1][start], argv[1][start + 1], argv[1][start + 2],
argv[1][start + 3], argv[1][start + 4], argv[1][start + 5],
argv[1][start + 6], argv[1][start + 7], argv[1][start + 8],
argv[1][start + 9], argv[1][start + 10], argv[1][start + 11],
argv[1][start + 12], argv[1][start + 13], argv[1][start + 14],
argv[1][start + 15]};
tôi sẽ lý tưởng như một cái gì đó như thế này:
byte16 va = *(byte16 *)(&(argv[1][start]));
Mà tôi có thể dễ dàng làm gì sử dụng intrinsics thích hợp cho ARM hay x86. Nhưng mã đó làm cho chương trình bị lỗi mặc dù nó biên dịch.
Không phải 'memcpy (& va, & argv [1] [bắt đầu], sizeof (va)) 'có hoạt động không? – jxh