ATI Stream OpenCL: проблема при открытии файла ядра opencl в Visual Studio 2010 - PullRequest
0 голосов
/ 23 июня 2011
FILE *fp;
long filelen; long readlen;
char* src;
fp = fopen("OpenCLSource.cl","r");
fseek(fp,0L,SEEK_END);
filelen = ftell(fp);
rewind(fp);
src = (char *) malloc(sizeof(char)*(filelen+1));    
readlen = fread(src,1,filelen,fp);
src[filelen+1] = '\0';
fclose(fp);

Я набрал этот код, и я получил сообщение об ошибке, что его открытие устарело, я решил проблему, получив справку на форуме, т. Е. Я добавил _CRT_SECURE_NO_WARNINGS в определения препроцессора.

Но я все еще не могу загрузить файл ядра. Есть «нет» ошибок или предупреждений. Значение fp равно нулю Есть ли альтернативный способ сделать это ??

Заранее спасибо

1 Ответ

1 голос
/ 23 июня 2011

fopen - это команда POSIX.Для Linux на странице руководства написано:

RETURN VALUE
   Upon successful completion fopen(), fdopen() and freopen() return a FILE
   pointer. Otherwise, NULL is returned and errno is set to indicate the error.

Я думаю, что это справедливо и для реализации Windows.Вы можете получить код ошибки, проверив переменную errno.Пользовательская строка может быть получена с помощью strerror:

char *str = strerror(errno);
printf("error: %s\n", str);

Надеюсь, это работает и в Windows.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...