Ошибка C1091 ограничение компилятора: длина строки превышает 65535 байт
Можно его как-то устранить без использования strcpy_s ?
Ответ
Провел такой эксперимент (Visual C++ 2015). Создал массив типа
unsigned char sss[] = {
0x50,0x48,0x51,0x47,0x48,0x55,0x4d,0x45,0x41,0x59, ...
и далее - миллион байт. Скомпилировалось на ура.
Преобразуйте свою строку в такой байтовый массив - только и разницы,
что не строка будет, а массив, а обращаться-то все равно можно будет
через указатель :)
Вот, скомпилируйте и запустите:
#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");
}
Комментариев нет:
Отправить комментарий