ppu_main.c

来自「在 IBM Cell 上實行 AES + SHA1 的加密.」· C语言 代码 · 共 34 行

C
34
字号
#include <stdlib.h>#include <pthread.h>#include <libspe2.h>typedef struct ppu_pthread_data{	spe_context_ptr_t spe_ctx;	pthread_t pthread;	unsigned long long argp;} ppu_pthread_data_t;extern spe_program_handle_t spu_main; // outside SPU binaryvoid *ppu_pthread_function(void *arg) { 	ppu_pthread_data_t *datap=(ppu_pthread_data_t *)arg;	unsigned int entry = SPE_DEFAULT_ENTRY;	if(spe_context_run(datap->spe_ctx, &entry, 0, (void *)datap->argp, NULL, NULL) < 0){		perror ("Failed running context");		exit (1);	}	pthread_exit(NULL);}int main(){	ppu_pthread_data_t data;	data.spe_ctx = spe_context_create (0, NULL);	data.argp = (unsigned long long)NULL;	spe_program_load (data.spe_ctx, &spu_main);	pthread_create (&(data.pthread), NULL, ppu_pthread_function, &data);	pthread_join(data.pthread, NULL);	spe_context_destroy(data.spe_ctx);	return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?