Использовать большой массив констант данных, таких как явные строки:
char *dummy_data[] = {
"blajkhsdlmf..(long script-generated random string)..",
"kjsdfgkhsdfgsdgklj..(etc...)...jldsjglkhsdghlsdhgjkh",
};
В отличие от переменных данных, постоянные данные часто попадают в тот же раздел памяти, что и реальный код, хотя это может зависеть от компилятора или компоновщика.
Редактировать: Я протестировал следующее, и оно работает в Linux:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i, j;
puts("char *dummy_data[] = {");
for (i = 0; i < 5000; i++) {
fputs(" \"", stdout);
for (j = 0; j < 1000; j++) putchar('a' + rand() % 26);
puts("\",");
}
puts("};");
return 0;
}
И этот код, и его выходные данные компилируются без ошибок.