Страницы

Поиск по вопросам

понедельник, 28 января 2019 г.

Ошибка компилятора C++

Ошибка C1091 ограничение компилятора: длина строки превышает 65535 байт
Можно его как-то устранить без использования strcpy_s ?


Ответ

Провел такой эксперимент (Visual C++ 2015). Создал массив типа
unsigned char sss[] = {
0x50,0x48,0x51,0x47,0x48,0x55,0x4d,0x45,0x41,0x59, ...
и далее - миллион байт. Скомпилировалось на ура.
Преобразуйте свою строку в такой байтовый массив - только и разницы, что не строка будет, а массив, а обращаться-то все равно можно будет через указатель :)
Вот, скомпилируйте и запустите:
#include #include #include
int main(int argc, const char * argv[]) { FILE * f = fopen("test.cpp","wt");
fprintf(f, "#include
" "char sss[] = {
"); for(unsigned int i = 0; i < 1000000; ++i) { fprintf(f,"0x%02x,", rand()%26+'A'); if (i % 40 == 39) fprintf(f,"
"); } fprintf(f,"};
" "int main() {
" "puts(sss);}
"); fclose(f); system("cl test.cpp"); }

Комментариев нет:

Отправить комментарий